z-index属性不起作用
嗨,我有以下代码,当我点击某个按钮fadeTo
时,我不#some
只有内容没有#some
标签
在这种情况下, fadeTo
涉及#some
标签
#content{ width:100%; height:100%; outline:1px solid red; margin:auto; z-index:0;} #registration,#login{ width:350px; height:300px; outline:1px solid blue; display:none; z-index:500; position:fixed;} $(".button").click(function(){ $("#some").fadeToggle(); $("#content").fadeTo(500,0.5); });
如果你有2个像这样的
,
并且两者都有absolute
位置你可以写z-index
属性
.a { z-index:1; } .b { z-index:2; }
.a
div结束了.b
div
z-index
属性仅适用于非静态定位元素。 即你需要为元素使用relative
位置, absolute
位置或fixed
位置之一。
在这种情况下,您可能需要position: relative;
CSS声明。
老实说,我不确定你在这种情况下使用z-index
的原因。
如果您要排除#some
元素不被.fadeTo()
方法处理,您可以用元素(或元素)包装#content
的内容并将该方法应用于它们,如下所示:
$(".button").click(function(){ $("#content").find(':not(#some)').fadeTo(500,0.5); });
HTML
工作演示 。
我可能是错的,但我相当肯定你想要包含在z-index中的两个元素必须具有非静态定位。
因此,如果您创建#content 和 #registration,#login非静态元素,它应该可以工作。
实际上,它们只需处于相同的堆叠环境中。 将position
和z-index
属性设置为元素时,会为其创建新的堆叠上下文。 然后,它像任何其他元素一样。 您不需要在其子项上重复z-index
正如您在此示例中所看到的,第二个div
的子
具有最高的z-index z-index:4;
但是! 它仍然在“ div3
” div3
因为div3
拥有自己的堆叠上下文,它位于div2
堆叠上下文之上。
http://jsfiddle.net/TCHdevlp/r7nyL/
这意味着z-index
在手工创建的堆叠上下文中完全无用。