要实现背景图和背景色的正片叠底效果,可以使用CSS的mix-blend-mode
属性。mix-blend-mode
属性定义了元素的内容与其背景层如何混合。当设置为multiply
时,可以实现正片叠底效果
案例
css
.style {
background: url(https://xxx.png) no-repeat;
background-size: 100% 100%;
background-blend-mode: multiply; /*正片叠底 */
}
混合模式
css
mix-blend-mode: normal; //正常
mix-blend-mode: multiply; //正片叠底
mix-blend-mode: screen; //滤色
mix-blend-mode: overlay; //叠加
mix-blend-mode: darken; //变暗
mix-blend-mode: lighten; //变亮
mix-blend-mode: color-dodge; //颜色减淡
mix-blend-mode: color-burn; //颜色加深
mix-blend-mode: hard-light; //强光
mix-blend-mode: soft-light; //柔光
mix-blend-mode: difference; //差值
mix-blend-mode: exclusion; //排除
mix-blend-mode: hue; //色相
mix-blend-mode: saturation; //饱和度
mix-blend-mode: color; //颜色
mix-blend-mode: luminosity; //亮度
mix-blend-mode: initial; //初始
mix-blend-mode: inherit; //继承
mix-blend-mode: unset; //复原
图片底层混合
html
<div>
<img src="">
</div>
css
div {
background: #f6f6f6 //添加背景灰色
}
div img {
mix-blend-mode: multiply; //正片叠底
}
在这个示例中,我们创建了一个包含背景颜色和图片。通过将覆盖层的mix-blend-mode
属性设置为multiply
,实现了图片和背景色的正片叠底效果。