位置:相对出现在位置:绝对

Lou*_*s W 10 css

在IE7中有一个奇怪的问题.在许多地方,我有一个DIV,它的位置是绝对的(faux dropdown),只要它背后有一些东西有位置:相对定位的项目将通过另一个div显示.

相对定位的项目没有任何z-index集合,而绝对定位的项目(我想要的那个)的z-index为1000.

http://skitch.com/louiswalch/dub5h/microsoft-windows-vista

Pat*_*Pat 27

我怀疑你已经尝试过,但是z-index在你的相对定位的元素上设置一个低于绝对定位元素的元素z-index作为第一个测试.

如果这不起作用,则需要确保两个元素都在同一堆叠上下文中.在IE中,每当您将positionCSS规则应用于元素时,它都会在该元素中生成新的堆叠上下文.这意味着只有在该元素的子元素中才能正确地遵循z-index,而具有较低z索引的其他堆叠上下文中的子元素仍然可以堆叠在上面.

在您的情况下,您需要将下拉列表和按钮放在相同的堆叠上下文中,或者将z-index应用于生成其单独堆叠上下文的2个元素.

  • 我的意思是你必须找到带有`position`集的2个父元素(这些是创建2个独立的堆栈上下文)并在它们上设置`z-index`.例如,如果你的按钮嵌套在一个名为`#content`的容器中,你的下拉列表是`#header`,你可以设置`#content {z-index:1}和`#header {z-index:2}` .如果`#header`和`#content`处于相同的堆叠上下文中,这将解决您的问题. (7认同)