我有一种情况,我在页面上有 2 个或更多固定位置元素显示堆叠一个在另一个之上(也就是说,第二个的顶部紧靠第一个的底部 - 没有 z-这些元素的索引堆叠)。在第一个固定位置元素内部,有一个绝对定位元素,它比其固定父元素高,因此它延伸到该固定父元素的底部之外。
问题是下一个固定位置元素显示在绝对定位元素的顶部。我在绝对定位元素上设置了比在固定定位元素上更高的 z-index 值,但它被完全忽略了。
为了帮助澄清这个问题,我把这个例子放在一起:
HTML
<div class="fixed first">
<p>This is a fixed element</p>
<p class="abs">
I should be displayed above both fixed position elements
</p>
</div>
<div class="fixed second">
<p>This is a fixed element</p>
</div>
CSS
.fixed {
font-size: 16px;
background: #eee;
border-bottom: 1px solid #ccc;
position: fixed;
height: 3em;
width: 100%;
z-index: 1;
}
.abs {
position: absolute;
background: #acc;
height: 6em;
top: 0;
left: 25%;
width: 50%;
z-index: 2;
}
.second {
top: 3.0625em;
}
这是 JSFiddle 上的工作示例:
我有点被这件事难住了。有没有人解释为什么会发生这种情况,以及解决它的方法?