我有一个带有固定导航栏的网站,该导航栏应随页面滚动。当我添加 JS 谷歌地图时,导航栏不再移动:
http://amosjackson.com/map/index.html
此外,仅当地图绝对定位时才会出现此问题。
我有一个带有固定导航栏的网站,该导航栏应随页面滚动。当我添加 JS 谷歌地图时,导航栏不再移动:
http://amosjackson.com/map/index.html
此外,仅当地图绝对定位时才会出现此问题。
将 translateZ 添加到固定元素
-webkit-transform: translateZ(0);
我在分析整个谷歌地图画布时发现了。API 还会
-webkit-transform: translateZ(0)
向地图添加一个。这打破了许多浏览器正确绘制固定元素的问题。
此外,固定元素还可能需要其他相关的可见性属性z-index
,例如不透明度。
一个可行的解决方案:(我总是将我的地图画布放入容器中)
.my-fixed-elem {
-webkit-transform: translateZ(0);
-moz-transform: translateZ(0);
-o-transform: translateZ(0);
-ms-transform: translateZ(0);
transform: translateZ(0);
z-index: 500 // adapt for your project
opacity: 1 // some times you can remove this
}
.map-canvas-container {
width: 100%; // somewidth
height: 750px; // someheight
position: relative;
z-index: 18;
top: 0;
left: 0;
}
#map-canvas-contact {
width: 100%;
height: 100%;
}
此致
从谷歌地图 div 中删除 z-index 并为其赋予一个不透明度值,以便文本变得可见.. 玩弄它们..
希望有帮助..
这是与添加到外部地图元素的“转换”css 设置相关的某种 webkit 错误。transform:translateZ(0px) 被添加到样式属性中,但不需要在其中,删除它没有效果。
所以答案是在页面中添加一个 css 行并使用 !important 标志,这样它将覆盖样式属性的设置。
<style>
#map-canvas[style] { -webkit-transform:none !important; }
</style>
请注意,[style] 部分仅在 google 添加 style 属性时才生效,并且可能需要更改 #map-canvas 以匹配您发送给 google.maps.Map() 的元素