我试图在另一个div前面得到一个div的子元素,但是z-index似乎只在div中起作用:
HTML:
<div class="below">
<div class="above">Oben!</div>
</div>
<div class="middle"></div>
CSS:
.below{
position:absolute;
z-index:0;
}
.middle{
position:absolute;
z-index:1;
}
.above{
position:absolute;
z-index:2;
}
我希望这些类按顺序出现:下面,中间,上面。这是一个jsFiddle来说明我的问题:http://jsfiddle.net/1Blerk/jH4vX/
答案 0 :(得分:2)
从position:absolute
.below
为元素提供绝对或相对的位置,以及z-index,创建本地堆叠上下文。这意味着对于任何绝对或相对定位的子节点,它们的z-index是相对于它们的父节点(本地堆栈上下文),而不是父节点之外的元素的z-index。
如果.below
需要绝对定位,请将.below
和.above
放入容器中,并为容器position:absolute
而不是.below
。
答案 1 :(得分:0)
只需锻炼此代码。
HTML
<div class="below">
<div class="above">Oben!</div>
</div>
<div class="middle"></div>
CSS
.below{
position:absolute;
top:20px;
z-index:0;
}
.middle{
position:absolute;
z-index:0;
}
.above{
position:absolute;
z-index:-1;
}