将不透明度应用于背景图像但不应用于文本

Qwe*_*Qwe 10 html css opacity

我的问题是当我让我的照片变暗时,课堂上的文字.text也会变暗,我不知道如何避免这种情况.

我知道一个解决方案:制作.wrap position:absolute和课程.text制作不在,image但这个解决方案不适合我(像这样).

还有其他想法吗?

这是我的代码:

.wrap {
  width: 100%;
  background: #000 none repeat scroll 0% 0%;
}
.image {
  background-image: url("https://pbs.twimg.com/profile_banners/1550273796/1372363601/1500x500");
  background-size: cover;
  opacity: 0.8;
  height: 100vh;
  max-height: 350px;
  min-height: 200px;
}
.text {
  color: #FFF;
  font-weight: 900;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrap">
  <div class="image">
    <div class="text">
      <p>I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE
        YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU I LOVE YOU</p>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

jsfiddle演示

Yan*_*era 17

opacity不是inherit属性但影响内容所以当你增加不透明度.image也会影响到.text,你可以使用伪元素并background: rgba()实现你想要的东西:

这里有一个可以玩的JSFiddle

.wrap {
    width: 100%;
}
.image {
    background-image: url("https://i.stack.imgur.com/gijdH.jpg?s=328&g=1");
    position: relative;
    height: 100vh;
}
.image:before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    background: rgba(0,0,0,0.7);
}
.text {
    color: #FFF;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)
<div class="wrap">
    <div class="image">
        <div class="text">
            <p>I LOVE YOU</p>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)