【发布时间】:2026-01-08 08:15:02
【问题描述】:
假设我们有两层背景。
底层为绿色
<div class="green"></div>。为简单起见,我们假设它只是一种颜色。但在我的项目中,这一层包含一个css 动画。上面还有一层蓝色
<div class="blue"></div>。现在,我想要另一个
div放在两者之上,它显示绿色背景(我项目中的动画层)。
我能想到的最接近的例子是如果你想象一个聚光灯。一切似乎都是黑色的,聚光灯四处移动,露出背景。
基本上,这就是我所拥有的:
<div class="green">
<div class="blue">
<div class="reveal"></div>
</div>
</div>
它看起来像这样。请记住,绿色层是我项目中的动画。
问题:如何完成.reveal 样式以实现上述行为。
- 第一个 div - 绘制
.green背景(动画) - 第二个 dv - 在上面绘制
.blue背景 - Third/Fourth/... div - 位于两者之上,但它揭示了
First div绘制的任何背景
注意:第一个和第二个 div 覆盖了100% 的可用宽度和高度。
.green {
background-color: #159c82;
width: 100vw;
height: 100vh;
}
.blue {
background-color: #1b4287;
// I could change this to a sibling div and use,
// position: absolute; but that seems unnecessary
width: 100%;
height: 100%;
}
.reveal {
margin-top: 10px;
margin-left: 10px;
width: 200px;
height: 50px;
// not sure what else to put here to make it work
}
<div class="green">
<div class="blue">
<div class="reveal"></div>
</div>
</div>
附:我发现有一种方法我根本不喜欢。
【问题讨论】:
-
我可以把
<div class="reveal">放在<div class="blue">之外吗? -
您的问题到底是什么?
-
@Dekel 我不确定如何完成
.reveal的样式以实现上述行为。我编辑了 OP -
@MARSHMALLOW 我想是的,只要我有两层完整的背景。我计划在我的项目中为
green背景设置动画。 -
@Dekel 刚刚更新