javascript - JS 谷歌地图打破固定元素

标签 javascript css google-maps

我有一个带有固定导航栏的站点,该导航栏应随页面滚动。当我添加 JS Google map 时,导航栏不再移动:

http://amosjackson.com/map/index.html

此外,只有在 map 绝对定位时才会出现问题。

最佳答案

将translateZ添加到固定元素

-webkit-transform: translateZ(0);

我在分析整个谷歌地图 Canvas 时发现了这一点。 API 还添加了一个 -webkit-transform: translateZ(0) 到 map 。这会破坏许多浏览器正确绘制固定元素。

此外,固定元素还可能需要其他相关的可见性属性,例如 z-index 和不透明度。

可行的解决方案:(我总是将我的 map Canvas 放入容器中)

.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%;
}

最好的问候

关于javascript - JS 谷歌地图打破固定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16365604/

相关文章:

javascript - 为什么当我将 axios.get() 数据传递给响应式对象 vuejs 时,我无法访问它?

javascript - 有新数据时如何更新图表?

css - 无法在 javafx 8 中加载 css 文件

css - 如何在 Angular 应用程序中检查 CSS 加载大小

android - 计算android中两个经纬度点之间的距离

javascript - 在业务催化剂结帐中选择 PayPal 时如何隐藏信用卡字段

javascript - 第7个div后代码中断

html - 为什么这个内联 block 元素的内容没有垂直对齐

Android Google Maps OnMapReadyCallback() 未在设备上发生(适用于模拟器)

google-maps - Google Maps API Javascript - map 未显示