使用CSS边框半径的带OpenLayers贴图的圆形div元素
我在包含OpenLayers OL3映射的div元素上遇到了CSS border radius属性的问题。用.png背景替换贴图的div元素上的边界半径给出了所需的结果,因此这个问题特定于OL3情况。使用50%的边界半径可以为某些操作系统/浏览器组合提供圆形贴图,而不是其他操作系统/浏览器组合。具体来说,我有以下行为: Ubuntu Firefox-works, 铬制品 窗户 IE-works, 铬-不起作用 Mac OSX/iOS Safari-在使用“显示所有选项卡”选项时起作用,但不起作用,边界半径已应用,而在普通窗口视图中则不是这样, 铬-不起作用 我在stackoverflow和web上搜索系统解决方案失败。我发现了WebKit CSS掩码攻击,但我希望可能有人知道潜在的问题是什么?考虑到OS/浏览器组合似乎发挥了一定作用,并且在OSX/iOS中,“显示所有选项卡”视图的行为与普通窗口不同 下面是一个JSFIDLE的链接,根据操作系统和浏览器的不同说明了问题是否存在。代码是: HTML JS 我将非常感谢任何洞察这里可能发生的事情!谢谢 设置边界半径:50%;在class.ol视口中使用CSS边框半径的带OpenLayers贴图的圆形div元素,css,browser,operating-system,openlayers-3,Css,Browser,Operating System,Openlayers 3,我在包含OpenLayers OL3映射的div元素上遇到了CSS border radius属性的问题。用.png背景替换贴图的div元素上的边界半径给出了所需的结果,因此这个问题特定于OL3情况。使用50%的边界半径可以为某些操作系统/浏览器组合提供圆形贴图,而不是其他操作系统/浏览器组合。具体来说,我有以下行为: Ubuntu Firefox-works, 铬制品 窗户 IE-works, 铬-不起作用 Mac OSX/iOS Safari-在使用“显示所有选项卡”选项时起作用,但不起作用
我没有linux和mac可供检查。它在我的浏览器中运行良好,因此无法测试,但您是否尝试将边界半径值从50%更改为300px?可能是问题事实上,我没有,所以谢谢你的建议;不过,我现在已经试过了,但仍然不起作用。@salahuddin:谢谢你的建议,我试过了,但仍然不起作用。CSS掩码破解效果很好,但我不确定为什么,因为这似乎不是一个纯粹的WebKit问题:例如,Chrome在Ubuntu上可以正常工作,Safari在show all tabs视图中也可以正常工作。虽然这个代码示例可能会回答这个问题,但最好对您的答案进行一些必要的解释。就目前情况而言,这个答案对未来的读者来说几乎没有任何价值。请原谅我没有提供解释,因为我对可能出现的问题仍然一无所知,而且我没有linux和mac,无法检查所有操作系统。
<body>
<div id="map" class=map></div>
</body>
.map {
height:600px;
width: 600px;
-webkit-border-radius:50%;
-moz-border-radius:50%;
border-radius:50%;
overflow:hidden;
margin:auto;
position:relative;
}
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,
}),
});