【发布时间】:2021-11-05 16:38:06
【问题描述】:
运行下面的sn-p:
.container {
display: flex;
}
.container1 {
box-shadow: inset 0 0 30px red;
width: min-content;
}
.container2 {
position: relative;
margin-left: 20px;
width: min-content;
}
.container2::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: inset 0 0 30px red;
}
.inner {
width: 200px;
height: 100px;
background: yellow;
}
.text {
width: 200px;
height: 100px;
}
<div class="container">
<div class="container1">
<div class="inner"></div>
<div class="text">Some text</div>
</div>
<div class="container2">
<div class="inner"></div>
<div class="text">Some text</div>
</div>
</div>
有没有办法将 container1 的红色框阴影的代码重写为高于黄色背景(或一般任何背景,包括图片)?
解决问题的一种方法是使用伪元素(因此,渲染的 container2 是它的预期方式),但我不是特别喜欢这个解决方案并希望有一种方法可以在不引入新的 dom 元素(仅利用 css)的情况下做同样的事情。
【问题讨论】:
-
伪元素不是 DOM 元素。您无法在 DOM 中找到它们。