CSS中的background-blend-mode
(背景混合模式)属性定义了元素的多个背景之间如何互相混合。
使用background-blend-mode
,你就可以实现在一个元素上混合多个背景层(图片或者颜色)。
该属性的值可以是一个或者多个的<blend-mode>
(混合模式)。混合模式让你可以指定混合的背景,从而改变背景交叉区域的颜色。使用特定颜色公式来混合基色和目标色。
混合模式应该按background-image
属性同样的顺序定义。如果混合模式数量与背景图像的数量不相等,它会被截取至相等的数量。
##语法
background-blend-mode: <blend-mode>
/* 单值 */
background-blend-mode: normal;
/* 双值,每个背景一个值 */
background-blend-mode: darken, luminosity;
background-blend-mode: initial;
background-blend-mode: inherit;
background-blend-mode: unset;
####值
一个<blend-mode>
定义混合的模式,可以有多个值,用逗号间隔。
##示例
在luminosity
混合模式中,可以创建单色的背景效果。
下面的例子使用了luminosity
作为background-blend-mode
的值,使背景图片和背景颜色混合,让图片“失色”。查看原图
.el-1{
background-image: url(http://zhuowenli.qiniudn.com/2015/09/11/1.jpg);
background-color: #000;
background-blend-mode: luminosity;
}
效果如下:
同样,您可以混合两个或多个重合在一起的图像,让他们重合在一起。
下例的background-image
有两个值:一张图片以及一个线性的背景,然后使用overlay
这个混合模式来进行混合。
.el-2 {
background-image: linear-gradient(to bottom, #f00, #0f0), url(http://zhuowenli.qiniudn.com/2015/09/11/1.jpg);
background-blend-mode: overlay;
}
效果如下:
如果你有两张背景图,你也可以把这两张图片混合在一起:图1 图2
.el-3 {
background-image: url(http://zhuowenli.qiniudn.com/2015/09/11/1.jpg), url(http://zhuowenli.qiniudn.com/2015/09/11/2.jpg);
background-color: olive;
background-blend-mode: color-burn;
}
使用不同混合模式,就好呈现出不用的效果。
##规范
《Compositing and blending Level 1 background-blend-mode》
##浏览器兼容性
##参考资料