您面临的问题与堆叠上下文有关,只需移动.eraser
div 使其不是.parent
z-index 和 position 的子级并使用它,或者您可以使用负 z-index。
工作示例
负 z-index 的工作示例
HTML
<div class="parent">
<p>HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo WorldHEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World HEllo World</p>
</div>
<div class="eraser"></div>
CSS
body {
background-color: blue;
}
.parent {
width: 500px;
height: 400px;
margin: 125px auto;
padding: 15px;
overflow: visible;
position: relative;
color: blue;
z-index:3;
}
.eraser {
left:180px;
top: 60px;
height: 100px;
width: 0px;
border-radius: 30px;
transform-origin: left;
background-color: #FFFFFF;
transition: width .3s linear;
transform: rotate(110deg);
/*box-shadow: 0 0 100px 50px rgba(255, 255, 255, .8);*/
display: inline-block;
position: absolute;
z-index: 2;
}
body:hover .eraser {
width: 210px;
transition: width .2s;
}