css – 在webkit浏览器中,v3谷歌地图不尊重容器的border-radius.有人有解决方法吗?

我有两张谷歌地图.第一个是使用Google Maps API(v3)创建的,包含在#map1中.第二个使用Google建议的嵌入语法显示在iframe中,并包含在#map2中.

这是小提琴:http://jsfiddle.net/wmcmeans/mPGWx/7/

以下是片段:

<div id="map1" class="gmap left bling"></div>

<iframe id="map2" class="gmap right bling" height="425" width="550" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?hl=en&amp;q=augsburg+germany&amp;ie=UTF8&amp;hq=&amp;hnear=Augsburg,+Bavarian+Swabia,+Bavaria,+Germany&amp;t=h&amp;ll=48.451123,10.862346&amp;spn=0.004981,0.00912&amp;z=16&amp;output=embed"></iframe>

问题在于:在基于webkit的浏览器中查看时,从v3 API创建的Google地图不会考虑应用了border-radius样式的容器的边框. iframed(嵌入)方法没有显示相同的缺陷.

测试好:

FireFox v 19.0.2(Windows 7)

FireFox v 32.0.3(Windows 8.1)

IE9 v 9.0.8112(Windows 7)

IE11(Windows 8.1)

失败:

Chrome v 25.0.1364.160 m / Safari(Win / 32)v 5.0.3 / Opera v 11.64(Windows 7)

Chrome v 38.0.2125.104 m(Windows 8.1)

不推荐使用版本2映射,而不是选项.我想用CSS设置v3地图,没有图形或叠加.我正在寻找解决webkit渲染问题的方法. (我已经为此开了一个Chromium Issue #187187,差不多一年之后,还有待观察).

解决方法

这是解决方案: http://jsfiddle.net/alxscms/3Kv99/

我正在使用几个额外的标记来实现这一点,我不喜欢这么多但是对我来说是唯一可行的方法.

<div class="wrapper">
  <div class="map" id="map"></div>
  <i class="top"></i>
  <i class="right"></i>
  <i class="bottom"></i>
  <i class="left"></i>
  <i class="top left"></i>
  <i class="top right"></i>
  <i class="bottom left"></i>
  <i class="bottom right"></i>
</div>

我的目标是有一个内边框和圆角,但你可以将边框粗细设置为0,你将只有地图上的圆角.这适用于FF,Chrome和IE.我没有在Opera或Safari上测试过.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


css的bordercolor属性怎么使用
CSS中contain属性的作用和语法
深入学习响应式布局框架:适合初学者到专家的详尽指南
CSS3选择器优先级规则
margin-top用法
选择最适合您的响应式布局框架:综合评估不同工具
使用CSS中的content属性
设计一个无缝适应不同屏幕尺寸的网站
如何处理CSS样式的层叠问题
探究最佳响应式布局框架:竞争激烈!
学习基本数据类型的快速入门:掌握常用操作技巧
CSS中float布局介绍
一同探讨响应式布局的益处
掌握响应式设计的益处,让网页在不同设备上展现完美适配!
可能导致CSS加载失败的原因有哪些?
各种基本数据类型的全面操作指南
CSS3选择器是否用于设计界面结构?
响应式布局优化移动设备适配的策略与实用技巧
伪元素怎么清除浮动
利用CSS响应式布局创作独特网页设计的设计技巧