Internet Explorer 7 z-index override

3

我试图重置一个元素的z-index属性。除了IE7或IE8-as-IE7,它在所有地方都有效。有人能指点我正确的方向吗?

在jsfiddle.net上的测试用例

坦率地说,我不希望它在IE7中工作,也许有人有解决方法?

一些背景:

受影响的元素有一个输入子元素,本身位于jQuery UI对话框内部。对话框库禁止修改比叠层zIndex低的任何字段。这个功能与上述错误结合起来意味着,即使我正确地重置测试元素的zIndex,我也无法编辑该字段。

感谢您提供的任何想法!


我不知道如何修复IE7中的确切测试用例 - 它已经被缩减得太多了。如果您提供第二个测试用例,包括您的jQuery UI对话框并显示错误,我可能能够解决它。 - thirtydot
那是我的目标 - 将其减少。 :-)一个“解决方法”是将#test z-index:1500设置为高于覆盖层的z-index。 - Kaukas
我很高兴你找到了解决方法。但那正是我的意思 - 我没有机会找到任何像那样的解决方法,因为你的测试案例被大幅减少了(这通常不是什么坏事)。 - thirtydot
这是一个稍微详细的测试案例:[http://jsfiddle.net/uAxNV/8/](http://jsfiddle.net/uAxNV/8/) - Kaukas
1个回答

0

IE7有一个奇怪的bug,你必须设置父元素的z-index。在这里查看。

你也可以尝试添加zoom: 1;,有时会起作用。


1
谢谢,我了解这个问题,并在我的应用程序的各个部分中使用所描述的技术。但是上面的怪癖与堆叠无关,而是与不能重置 z-index 有关,就像我在jsfiddle示例中所示。 zoom:1 有时用于设置 hasLayout,但 #test 元素已经具有布局,因为它是相对定位。 - Kaukas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接