一个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>

本文介绍了如何使用CSS创建遮罩效果,通过在div上叠加一个背景颜色透明度可控的子div或利用伪元素after实现。提供了两种具体实现方法及其代码示例。
2528

被折叠的 条评论
为什么被折叠?



