Html IE7';s z索引错误,一个复杂的案例
我有一个带有表单字段和动态工具提示的弹出窗口。在每个浏览器中,提示都显示得很好,但在IE6/7中,它们显示在表单字段下方。经典错误,但我找不到有效的解决方案 ,Firefox 5位于顶部,IE7位于底部 在不深入研究代码的情况下,表单具有以下嵌套结构:Html IE7';s z索引错误,一个复杂的案例,html,css,internet-explorer-7,internet-explorer-6,Html,Css,Internet Explorer 7,Internet Explorer 6,我有一个带有表单字段和动态工具提示的弹出窗口。在每个浏览器中,提示都显示得很好,但在IE6/7中,它们显示在表单字段下方。经典错误,但我找不到有效的解决方案 ,Firefox 5位于顶部,IE7位于底部 在不深入研究代码的情况下,表单具有以下嵌套结构: div.pp (position: absolute; z-index: 200) -> div#le, div#ri -> label (position: relative) -> span.tip
div.pp (position: absolute; z-index: 200)
-> div#le, div#ri
-> label (position: relative)
-> span.tip (position: absolute; z-index: 300)
请注意,span.tip是动态生成的,并注入到标签中,使其与输入成为同级
编辑:。一般来说,在IE中,问题是IE为相对定位元素的子元素重新创建z索引,使得无法为不同的工具提示彼此设置z索引
解决方案在于简化IE页面。我取消了标签上的相对定位,绝对定位了相对于div.pp的工具提示,并使用javascript正确定位匿名工具提示并动态设置z索引。当提示的z索引低于其父项(div.pp)的z索引时,提示显示正确。请发布一个URL或包含一个复制问题的简化HTML片段——使用一些示例HTML将更容易找到解决方案。右列的父容器是什么?这正是我阅读的内容,但在这里,层的顺序要复杂一些。添加了一个演示,希望它有助于说明错误。
.pp .le label{z-index: 10}
.pp .ri label{z-index: 5}