CSS 强制 div 具有绝对位置位于具有静态位置的 div 后面



假设我有一些文档

#a{width: 10px; height: 10px; background: red; z-index: 10;}
#b{width: 100%; height: 100%; background: black; z-index: 5; position: absolute;}
<body>
<div id="a">foo</div>
<div id="b">bar</div>
<body>

#b div覆盖了#a,因为#b的位置absolute

如何在不改变 #a 位置的情况下强迫#b落后于#a

您可以将position: relative添加到#a元素。

您必须为第一个div设置除static以外的position才能应用z-index

#a {
width: 100px;
height: 100px;
background: red;
z-index: 10;
position: relative;
}
#b {
width: 100%;
height: 100%;
background: black;
z-index: 5;
position: absolute;
left:0;
top:0;
}
<div id="a">foo</div>
<div id="b">bar</div>

你应该在你的第一个div添加一个相对位置:

<body>
<div id="a">foo</div>
<div id="b">bar</div>
<body>
<style>
#a{width: 10px; height: 10px; background: red; z-index: 10; position:relative}
#b{width: 100%; height: 100%; background: black; z-index: 5; position: absolute;}
</style>

最新更新