Google Maps,Z索引和下拉Javascript菜单

时间:2020-03-05 18:59:45  来源:igfitidea点击:

我今天遇到了一个小问题:我有一个JS下拉菜单,当我插入GoogleMap时...菜单显示在Google Map的后面...关于如何使用Google Map z索引的任何想法?

谢谢!

解决方案

回答

尝试将菜单的z-index设置过高。显然,谷歌地图使用的范围是-9000000到9000000。

回答

将地图包裹在DIV中,为该DIV赋予z索引1. 将下拉菜单包裹在DIV中,并为其赋予更高的值。

回答

请注意,某些浏览器(ahemIE * ahem)的下拉菜单根本无法定位。如果要在其上方放置某些内容,则需要使用" iframe填充程序"使其模糊或者完全隐藏下拉列表。请参阅:http://clientside.cnet.com/wiki/cnet-libraries/02-browser/02-iframeshim

回答

如果问题在Internet Explorer中发生,但可以按照我们在FireFox或者Safari中的显示方式呈现,则此链接对我遇到类似问题特别有用。

似乎可以归结为将元素标记为" position:relative;"的想法。 CSS中的CSS会导致IE6&7相对于HTML文档中位于其之前的其他元素的z-index混乱,且采用不直观和反规范的方式。假设IE8的行为"正确",但我自己尚未对其进行测试。

如果问题与<SELECT>表单元素有关,那么Anutron的建议将非常有帮助,但是如果我们使用JavaScript来操作div或者uls来充当下拉菜单,我认为这不会有所帮助。

回答

该地图已经包装在div中。给它一个负的z-index,它有一个警告:gmaps控件不可单击。

回答

如果菜单包装在div容器中,例如然后,#menuWrap为其分配相对位置,并为其赋予较高的z索引...。

#menuWrap {
  position: relative;
  z-index: 9999999
}

确保地图在div内

回答

IE浏览器给的问题

包装在相对位置的div中的每个div都会在IE中开始一个新的z-index。 IE解释外部相对div的方式是html的顺序。最后定义在最上面。不管相对定位的div内的div的z索引是多少。

IE解决方案:在html中定义最后应位于顶部的div。

(因此z-index在IE中有效,但仅按每个div持有者而言,每个div持有者都独立于其他div持有者)