gpt4 book ai didi

css - IE 忽略定位元素的 Z-Index

转载 作者:行者123 更新时间:2023-11-28 08:49:26 26 4
gpt4 key购买 nike

IE 再次被证明是我存在的祸根。我正在处理的网站顶部有一个水平菜单,其中的一个元素会触发一个纯 CSS 菜单,该菜单绝对定位在父菜单 DIV 中(相对定位)。这会将菜单完美地放置在 IE 和 W3C 兼容浏览器中。

当我在页面下方有更多定位元素时,问题就出现了。它们也是相对定位的,因为它们内部的数据需要绝对定位...同样,这在我测试过的所有浏览器中都能正确显示。

问题是,然后打开顶部菜单,部分被页面下方的定位元素遮挡 - 实际上,它位于这些元素的下方,即使所有元素都定义了 z-index 属性。 (在 CSS 文件和内联中)。

让 IE 正确显示它的唯一方法是将菜单的实际 HTML 放在页面底部,低于(在 DOM 术语中)页面上其他位置的定位元素。我只会将此作为绝对的最后手段。

所有元素都是同一类型 (div)。这是相关的 HTML:

<div id='menu'>
<div id='cat_menu' style='display:none;z-index:10000;'>
<table cellspacing='0' cellpadding='0' class='brmenu' width='100%'>
[data]
</table>
</div>

<div class='product_new' style='z-index:20;'>[data]</div>
<div class='product_listing' style='background-color:#FFFFFF;'>[data]</div>

以及相关的 CSS:

div#menu {
height: 26px;
padding: 0;
position: relative;
}

div#cat_menu {
position: absolute;
top: 25px;
left: 115px;
width: 300px;
z-index: 1000;
}

div.product_new {
background-image: url("/images/sp_images.png");
background-position: 0 -108px;
background-repeat: no-repeat;
padding 0px;
height: 40px;
font-size: 9pt;
margin-top: 5px;
position: relative;
z-index: 20;
}

最佳答案

我遇到了同样的问题。玩了一会儿之后,我同意 David 的观点:“IE 只可靠地为同级元素呈现 z-index。”

我确实想出了一个简单的替代解决方案。似乎 ie 将非兄弟元素的 z-index 呈现为零(就好像它们没有 z-index 一样)。我通过将有问题的元素及其父元素设置为负 z-index 解决了这个问题,将它们放在 ie 将 z-index 重置为零的元素下方。

关于css - IE 忽略定位元素的 Z-Index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2355081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com