我在这里看到很多关于如何使用CSS淡化文本的问题,但迄今为止所有的答案都假定文本下面的元素具有实心背景。如果文本位于本身不透明度小于1(即半透明)的div上方,你该如何淡化文本?运行下面的代码来查看示例。我想要做的是在那个框中以垂直渐变的方式淡化文本,使字体颜色在顶部为白色,并在达到底部时淡入框的半透明背景中。
注意:解决方案应该能够在div的背景不透明度更改时(例如,从0.5更改为0.75)而无需修改即可工作。
body {
background: #333;
color: #fff;
}
.box {
width: 320px;
background: rgba(204, 153, 153, 0.5);
border: 2px solid #000;
padding: 1rem;
}
.box > p {
margin: 0;
}
<div class="box">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>