gpt4 book ai didi

css - 使用 CSS border-radius 的带有 OpenLayers map 的圆形 div 元素

转载 作者:行者123 更新时间:2023-11-28 08:30:28 24 4
gpt4 key购买 nike

我在 div 元素 上遇到了 CSS border-radius 属性的问题,该元素包含 OpenLayers (OL3) map 。 map 替换为 .png 背景的 div 元素上的 border-radius 给出了期望的结果,因此这个问题特定于 OL3 案例。使用 50% 的 border-radius 会为某些操作系统/浏览器组合提供一个圆形 map ,而不是其他操作系统/浏览器组合。具体来说,我得到以下行为:

UbuntuFirefox - 有效,Chrome - 有效

window IE-有效,Chrome - 不工作

Mac OSX/iOSSafari - 工作和不工作(当使用“显示所有选项卡”选项时,边界半径被应用,而不是在正常窗口 View 中),Chrome - 不工作

我在 stackoverflow 和网络上搜索系统解决方案均未成功。我在 How to make CSS3 rounded corners hide overflow in Chrome/Opera 上发现了 WebKit CSS Mask hack ,但我希望也许有人知道根本问题是什么?鉴于操作系统/浏览器组合似乎发挥了作用,并且在 OSX/iOS 中,“显示所有选项卡” View 的行为与普通窗口不同?

这是说明问题的 jsfiddle 链接(或不说明问题,取决于操作系统和浏览器)http://jsfiddle.net/t0y9bbqw/ .代码是:

HTML

 <body>
<div id="map" class=map></div>
</body>

CSS

.map {
height:600px;
width: 600px;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
overflow:hidden;
margin:auto;
position:relative;
}

JS

var my_layer = new ol.layer.Tile({
source: new ol.source.MapQuest({layer: 'sat'})
})

var map = new ol.Map({
target: 'map',
layers: [my_layer],
view: new ol.View({
center: [-12245.6653498,6704064.05491],
zoom: 10,
}),
});

如果您能深入了解这里可能发生的事情,我将不胜感激!谢谢!

最佳答案

在类 .ol-viewport 中设置 border-radius:50%;

我没有 linux 和 mac 来检查。

关于css - 使用 CSS border-radius 的带有 OpenLayers map 的圆形 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28290129/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com