CSS mask-image 属性
定义和用法
mask-image
属性用于指定用作元素遮罩层的图像。
提示:CSS 中的线性渐变和径向渐变也可以用作遮罩图像。
实例
例子 1
为图像创建遮罩层:
.mask1 { -webkit-mask-image: url(w3logo.png); mask-image: url(w3logo.png); mask-size: 70%; mask-repeat: no-repeat; }
例子 2
使用线性和径向渐变为图像创建不同的遮罩层:
.mask1 { -webkit-mask-image: linear-gradient(black, transparent); mask-image: linear-gradient(black, transparent); } .mask2 { -webkit-mask-image: radial-gradient(circle, black 50%, rgba(0, 0, 0, 0.5) 50%); mask-image: radial-gradient(circle, black 50%, rgba(0, 0, 0, 0.5) 50%); } .mask3 { -webkit-mask-image: radial-gradient(black 50%, rgba(0, 0, 0, 0.5) 50%); mask-image: radial-gradient(black 50%, rgba(0, 0, 0, 0.5)); }
例子 3
使用 SVG <mask> 元素为图像创建遮罩层:
<svg width="600" height="400"> <mask id="svgmask1"> <polygon fill="#ffffff" points="100,10 40,198 190,78 10,78 160,198"></polygon> </mask> <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="img_5terre.jpg" mask="url(#svgmask1)"></image> </svg>
例子 4
使用 SVG <mask> 元素为图像创建另一个遮罩层:
<svg width="600" height="400"> <mask id="svgmask1"> <circle fill="#ffffff" cx="75" cy="75" r="75"></circle> <circle fill="#ffffff" cx="80" cy="260" r="75"></circle> <circle fill="#ffffff" cx="270" cy="160" r="75"></circle> </mask> <image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="img_5terre.jpg" mask="url(#svgmask1)"></image> </svg>
CSS 语法
mask-image: none|image|url()|initial|inherit;
属性值
值 | 描述 |
---|---|
none | 默认值。不使用遮罩图像。 |
image | 用作遮罩层的图像。 |
url() | 对图像或 SVG <mask> 元素的 URL 引用。 |
initial | 将此属性设置为其默认值。参阅 initial。 |
inherit | 从其父元素继承此属性。参阅 inherit。 |
技术细节
默认值: | none |
---|---|
继承性: | 否 |
动画制作: | 不支持。请参阅:动画相关属性。 |
版本: | CSS Masking Module Level 1 |
JavaScript 语法: | object.style.maskImage="url(star.svg)" |
浏览器支持
表格中的数字表示首个完全支持该属性的浏览器版本。
带有 '-webkit-' 前缀的数字表示第一个支持该前缀的版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
120 | 120 | 53 | 15.4 | 15 -webkit- |
相关页面
教程:CSS 遮罩
参考:CSS mask 属性