我只是试图使用margin
负值使两个div重叠...这很好用
Stack Snippet
.main {
display: flex;
}
.item {
width: 100px;
height: 100px;
background: red;
margin-right: -20px;
}
.item:last-child {
background: blue;
margin-top: 20px;
}

<div class="main">
<div class="item"></div>
<div class="item"></div>
</div>
&#13;
现在我刚刚将opacity:0.5
添加到第一项...... 发生了一些奇怪的 。我注意到应用opacity
小于1的值,如0.99
将div放在前面......
更新: @Temani_Afif在应用transform
的评论中提到了在第一个div中产生相同的效果
Stack Snippet
.main {
display: flex;
}
.item {
width: 100px;
height: 100px;
background: red;
margin-right: -20px;
}
.item:last-child {
background: blue;
margin-top: 20px;
}
.item:first-child {
transform: scale(1);
opacity: .99;
}
&#13;
<div class="main">
<div class="item"></div>
<div class="item"></div>
</div>
&#13;
我知道我可以使用position
和z-index
值将div放在前面或后面......
但我不明白为什么将opacity
值小于1或或transform
应用于第一个div将其放在前面......这是正常行为吗?