CSS mask 属性

CSS mask 语法

在 CSS 中,mask 属性允许你通过图像(或 SVG 路径、渐变等)作为遮罩层,来控制元素的可见区域。

就像现实中的模板或镂空卡纸,只有图像中 “亮 / 不透明” 的部分才能显示元素内容,其余部分都被遮挡隐藏。

语法:

mask: 蒙版层1, 蒙版层2, ..., 蒙版层n;

说明:

mask 属性可以接受一个或多个蒙版层,每个蒙版层都由一个或多个子属性值组合而成,顺序不限。其中,mask 子属性如下表所示。

mask 子属性
子属性 说明
mask-image 指定用作蒙版的图像
mask-mode 定义蒙版图像的渲染模式
mask-repeat 定义蒙版图像的重复方式
mask-position 定义蒙版图像的起始位置
mask-size 定义蒙版图像的尺寸大小
mask-origin 定义蒙版图像的定位原点
mask-clip 定义蒙版图像的裁剪区域
mask-composite 定义多个蒙版图像之间的合成模式

注意:

  • mask 属性适用于所有元素。
  • 用作蒙版的图像会影响元素内容的可见性,而不是元素本身的背景或边框。

CSS mask 摘要

属于 CSS 蒙版属性
使用频率
是否继承
默认值 各子属性的默认值
兼容性 查看
官方文档 查看
MDN 查看

CSS mask 示例

接下来,我们通过一个简单的例子来讲解一下 CSS mask 属性是如何使用的。

示例:mask 基本用法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            width: 200px;
            height: 200px;
            margin: 50px;

            /* 定义背景图片 */
            background-image: url("imgs/bird.jpg");
            background-size: cover;

            /* 定义蒙版图片 */
            mask: url("imgs/star.svg") no-repeat center / 100%;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

页面效果如下图所示。

mask 示例

分析:

mask 是一个简写属性。对于这个例子来说,下面 2 种写法是等价的。

/* 写法 1 */
mask: url("imgs/star.svg") no-repeat center / 100%;

/* 写法 2 */
mask-image: url("imgs/star.svg");
mask-repeat: no-repeat;
mask-position: center;
mask-size: 100%;

上一篇: mask-composite

下一篇: color

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号