<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" />
<title>Document</title>
<style>
.absolute {
position: absolute;
width: 100px;
height: 100px;
background: green;
}
.relative {
position: relative;
background: #555;
width: 100%;
height: 50px;
}
.content {
position: relative;
width: 200px;
height: 200px;
background-color: red;
}
</style>
</head>
<body>
<div class="content">
<div class="absolute">absolute</div>
<div class="relative">
relative
</div>
</div>
</body>
</html>
<div class="content">
<div class="absolute">absolute</div>
<div class="relative">
relative
</div>
</div>
解决方式:只需要将absolute元素移到relative下面就行了。
原因:同z-index层级的(定位)元素会根据元素出现的先后顺序层叠。
不含 z-index 的堆叠: developer.mozilla.org/zh-CN/docs/…
<div class="content">
<div class="relative">
relative
</div>
<div class="absolute">absolute</div>
</div>