我正在尝试在背景图像上使用不透明度但如果我使用它会影响文本。
.content_wrapper{
width:320px;
height:374px;
color:black;
background-image: url('../images/beuningse-boys-midden.png');
background-size:130px;
background-repeat: no-repeat;
background-position-x: 95px;
background-position-y: 155px;
}
答案 0 :(得分:1)
您无法使用CSS更改background-image
的不透明度。但是,有一些方法可以达到同样的效果。
此方法使用:after伪类,它绝对位于其父级内。背景图像在此伪元素上设置,并且不透明度给人的印象是背景不透明度是在背景本身上设置的。
<div>
Text on top, no big deal, no big deal. Just a little text and stuff. That's all.
</div>
div {
width:320px;
height:374px;
display: block;
position: relative;
border: solid 1px #f00;
}
div::after {
content: "";
background-image: url('http://placehold.it/800x600');
background-size: cover;
background-repeat: no-repeat;
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}
如果您需要向后兼容性,则需要在标记中添加额外元素才能获得相同的结果:
<div class="container">
<div class="background"></div>
Text on top, no big deal, no big deal. Just a little text and stuff. That's all.
</div>
.container {
width:320px;
height:374px;
display: block;
position: relative;
border: solid 1px #f00;
}
.container .background {
content: "";
background-image: url('http://placehold.it/800x600');
background-size: cover;
background-repeat: no-repeat;
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}
这是一篇很棒的文章,其中CSS3方法可以实现相同的结果:
http://css-tricks.com/snippets/css/transparent-background-images/
答案 1 :(得分:0)
给文本一个类或一个id,并给它一个没有不透明度的颜色。
p {
color: rgb(120,120,120); // use here what color you want
}