CSS mask-origin 语法
在 CSS 中,mask-origin 属性用于定义蒙版图像的定位原点。它的行为与 background-origin 属性非常相似。
语法:
mask-origin: 关键字;说明:
mask-origin 的取值有 3 种,如下表所示。
| 取值 | 说明 |
|---|---|
| border-box(默认值) | 从边框左上角开始放置 |
| padding-box | 从内边距左上角开始放置 |
| content-box | 从内容区左上角开始放置 |
边框、内边距、内容区都是 CSS 盒子模型 的概念,如下图所示。

对于 mask-origin 属性,小伙伴们还要清楚以下几点。
- mask-origin 属性适用于所有元素。
- mask-clip 属性定义了蒙版图像的裁剪区域,而 mask-origin 定义了蒙版图像的定位原点。这两个属性虽然相似,但功能不同,可以独立设置。
- mask-origin 属性的默认值是 border-box,而 background-origin 属性的默认值是 padding-box。
CSS mask-origin 摘要
| 属于 | CSS 蒙版属性 |
|---|---|
| 使用频率 | 中 |
| 是否继承 | 否 |
| 默认值 | border-box |
| 兼容性 | 查看 |
| 官方文档 | 查看 |
| MDN | 查看 |
CSS mask-origin 示例
接下来,我们通过一个简单的例子来讲解一下 CSS mask-origin 属性是如何使用的。
示例:mask-origin 基本用法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
.container {
display: inline-block;
margin: 20px;
border: 1px dashed gray;
}
.box {
display: inline-block;
width: 200px;
height: 200px;
padding: 30px;
border: 30px solid red;
/* 定义背景图片 */
background-image: url("imgs/bird.jpg");
background-size: cover;
/* 定义蒙版图片 */
mask-image: url("imgs/star.svg");
mask-repeat: no-repeat;
mask-size: 100%;
mask-origin: border-box;
}
</style>
</head>
<body>
<div class="container">
<div class="box"></div>
</div>
</body>
</html>页面效果如下图所示。

分析:
mask-origin: border-box; 表示蒙版图片的定位原点为边框左上角。如果改为 mask-origin: padding-box;,此时页面效果如下图所示。

如果改为 mask-origin: content-box;,此时页面效果如下图所示。

mask 是一个复合属性
在 CSS 中,mask 是一个复合属性,它包含很多子属性(如下表所示)。
| 子属性 | 说明 |
|---|---|
| mask-image | 指定用作蒙版的图像 |
| mask-mode | 定义蒙版图像的渲染模式 |
| mask-repeat | 定义蒙版图像的重复方式 |
| mask-position | 定义蒙版图像的起始位置 |
| mask-size | 定义蒙版图像的尺寸大小 |
| mask-origin | 定义蒙版图像的定位原点 |
| mask-clip | 定义蒙版图像的裁剪区域 |
| mask-composite | 定义多个蒙版图像之间的合成模式 |
