IE下拉z-index错误

时间:2010-03-16 00:11:27

标签: css internet-explorer drop-down-menu z-index

我在IE(6和7)下的下拉菜单中遇到问题。

http://www.amaconsulting.pl/promocje.html

如您所见,下拉列表隐藏在IE的主要内容区域后面。

这是一个已知的错误,一般建议是为标题和内容区域设置z-index,因此IE知道它们的“位置”,在此处的文章中解释:http://bit.ly/coSPcI

我将.header div的z-index设置为20,将.featured,.content,.primary,.main设置为1,试图找到正确的div来解决问题。虽然下拉停止隐藏在.featured div后面,但它仍然隐藏在主要内容div之后(.primary或​​.main,.secondary很好)。

这些div的z-index设置在一个单独的样式表ie.css中,以防有人在寻找它们。

如果有人可以提供一些建议,我将非常感激。

3 个答案:

答案 0 :(得分:3)

Ok原创解决方案 - Swiss credit website。这有效,但使用复杂的z-index解决方案。 这里有一个非常简单和改进的解决方案 - Jeyjoo stock image gallery 这适用于IE6 +,firefox,opera,safari和chrome

<强>解决方案

HTML

<div id="container_page" class="container_page">
  <div id="container_header" class="container_header">
    NAV BAR GOES HERE
  </div>
  <div id="container_body" class="container_body">
    ...body text...
  </div>
</div>

CSS

#container_page #container_header {position:relative;z-index:2;}
#container_page #container_body {position:relative;}

工作原理

你必须告诉IE这两个div是如何相互关联的。

答案 1 :(得分:0)

在IE中,如果绝对定位的元素具有z-index,那么它包含相对定位的元素必须指定z-index(z-index:1),以便绝对定位的元素能够出现在其他元素之上相对定位的元素。

所以我认为你需要给你的ul.nav一个z指数为1.我实际上在my blog上写了这个。

<强>更新 因此,如果我将隐藏ul的可见性样式更改为可见,它将显示在div上方,只要ul.nav具有正z-index值即可。因此,我认为这与JS从隐藏的UL呈现下拉菜单的方式有关。除非我拥有你所有的HTML / CSS / JS,否则我无法真正解决这个问题,所以我只能指出你正确的方向,我认为理解this page会对你有所帮助。

答案 2 :(得分:0)

我在子菜单上管理了一个z-index工作 - Chkredit - swiss credit website 适用于所有版本的IE,并且轻巧且100%CSS(无javascript)。

IE无法正确使用z-index。 检查网站CSS代码中的z-index。您需要在菜单隐藏的项目上放置一个z-index -1。

我现在为自己的图片库处理完全相同的问题(转到“顶部图片”页面) - jeyjoo image gallery。当我对此进行排序时,我将在此处发布完整的解决方案。