CSS 给图片或背景图片加颜色遮罩
一个div同时设置background-color和background-image的话,color是处于img层下方的,无法实现遮罩效果,所以需要再创建一个div作为其子div,然后设置子div的背景颜色,介绍两种方法:
第一种,代码如下:
css:
.wrap{
position: relative;
background: url(i/pic4.jpg) no-repeat;
-webkit-background-size: 100%;
background-size: 100%;
}
.warp-mask{
height:100%;
width:100%;
background: rgba(0,0,0,.4);
}
html:
<div class="wrap">
<div class="wrap-mask"></div>
</div>
第二种,通过after伪元素设置,代码如下:
css:
.wrap{
position: relative;
background: url(i/pic4.jpg) no-repeat;
-webkit-background-size: 100%;
background-size: 100%;
}
.wrap-mask:after{
position: absolute;
top: 0;
left: 0;
content: "";
background-color: yellow;
opacity: 0.2;
z-index: 1;
width: 100%;
height: 100%;
}
html:
<div class="wrap">
<div class="wrap-mask"></div>
</div>