例如,请使用以下HTML& CSS:
<div class="fixed"></div>
<div class="wrapper">
<div class="child"></div>
</div>
.fixed {
background: blue;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 2;
}
.wrapper, .child {
position: absolute;
height: 20px;
width: 20px;
padding: 20px;
}
.wrapper {
z-index: 1;
background: red;
}
.child {
position: absolute;
z-index: 3;
background: yellow;
}
预期的行为是.child
显示在.fixed
之上而.wrapper
不可见但是http://jsfiddle.net/STLMR/ .fixed
显示最重要(在Chrome + Firefox中测试) 。是否有一些技巧,或者是否有一些我缺少的CSS怪癖?
答案 0 :(得分:4)
在CSS中,z-index
不是绝对的,而是相对于父容器。对于“绝对”,我不是指position: absolute
属性,我说这是因为它可能令人困惑。
答案 1 :(得分:1)
您必须将.child
移动到z-index高于.fixed
的新容器中。