这是一个实验中的功能,用于设置元素上遮罩层的图像。
一、Values
none:
默认值,透明的黑色图像层,也就是没有遮罩层。
<mask-source>:
<mask>
或CSS图像的url<image>
图片作为遮罩层
二、语法:
.demo1 { background : url("images/logo.png") no-repeat; -webkit-mask : url("images/mask.png"); }
三、效果图:
mask.png中黑色部分的透明度(alpha)值为1,将完全显示其下方的图片区域,而其余部分的透明度为0(alpha值),将完全覆盖其下方的图片区域。
四、腾讯视频不遮挡人物弹幕是怎么实现的:
大家都看到弹过弹幕,现在的弹幕都是不遮挡人物的弹幕,如下图(Chrome浏览器效果),腾讯视频用的就是-webkit-mask属性来实现的。
Network面板里可以看到在不停加载遮罩图像,说明是后端通过一定算法识别得到svg遮罩,返回的图像如下:
所以弹幕在经过白色部分时不能被显示出来,黑色部分可以。
但是现在还有很多浏览器不支持mask,比如同样的视频内容在edge浏览器上的效果如下图:
官网:https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask-image