我有一个带背景图片的div元素。当您将鼠标悬停在div元素上时,我将在div元素中显示一些文本。我想在不改变文本内部不透明度的情况下将div元素的亮度降低50%。我发现做类似事情的唯一方法就是像这样使用rgba函数:
rgba(0,0,0,0.5);
然而,这仅适用于颜色,我想知道是否有办法实现相同的效果而不将文本带到div之外。 我是HTML / CSS的新手,所以我希望你们能帮助我。谢谢!
答案 0 :(得分:0)
您可以使用:after
伪来保留背景图片并使用不透明度而不是主要元素。
<强> HTML:强>
<div class="have-img">LOREM IPSUM DOLOR</div>
<强> CSS:强>
.have-img{
position: relative;
font-weight: bold;
font-family: arial;
font-size: 15px;
padding: 100px 20px;
text-align: center;
}
.have-img:after{
content: '';
position: absolute;
top: 0px;
left: 0px;
background: url('http://lorempixel.com/1000/200/') no-repeat center center;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0.2;
}