思路
在父元素上之上利用绝对定位再加一个图层并调整该图层的透明度
顺便一提:熟悉ps或pr的应该知道这图层叫做遮罩或者蒙版
方法利用:after伪元素
- dom元素
<div className={styles.headerWrapper}>
<div className={styles.header}> </div>
</div>
- css代码
.headerWrapper{
background-size: cover;
background: url("../../../assets/img/homgPageBg.jpg") no-repeat center fixed;
position: relative;
z-index: 1;
&:after{
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
filter: blur(1px);
background-color: rgba(0, 0, 0 ,0.3);
z-index: -1;
}
}
注意点:
- 父元素和子元素的z-index值,
FAQ
为什么 :after的z-index为-1比父元素的1小却能够在背景图片的上面,解释如图
效果
- 使用前
- 使用后
透明度0.3的黑色遮罩
参考文章
CSS深入理解之z-index
CSS3实现模糊背景的三种效果
深入理解css中position属性及z-index属性