一個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>
借鑑文章出處:https://blog.csdn.net/mr_fzz/article/details/53219367