1

解释这一点的最好方法是通过示例:http: //jsfiddle.net/e7JjU/

我对 z 索引和堆叠上下文有很好的理解,但我无法弄清楚 div1(蓝色)能够出现在红色和绿色的堆栈之间的逻辑原因。有人可以解释一下吗?

#div1{ 
    width: 200px;
    height: 50px;
    background-color: blue;
    position: relative;
    top: 20px;
    left: 15px;
    z-index: 1;
}
#div2 {
    width: 200px;
    height: 50px;
    position: relative;
    top: -50px;
    background-color: red;
}
#inner{
    width: 200px;
    height: 50px;
    position: relative;
    top: 40px;
    left: 30px;
    background-color: green;
    z-index: 2;
}

和HTML...

<div id="div1"></div>

<div id="div2">
    <div id="inner"></div>
</div>​
​
4

1 回答 1

0

您的红色 div#div2没有 z-index。但是#div1#inner做。如果您要设置 z-index,#div2则蓝色 div 不会出现在绿色 div 和红色 div 之间。

z-index 适用于父 div 和子 div。

<div id="div1" style="z-index:1"></div>


<div id="div2" style="z-index:2">
   <div id="div4" style="z-index:4;"><!--Higher than any of the other divs--></div>
</div>

<div id="div3 style="z-index:3">
    <div><!-- any div inside div3 are higher than div1 and div2 but not div4</div>
</div>
于 2012-12-07T02:31:12.427 回答