CSS mask-origin 属性

CSS mask-origin 语法

在 CSS 中,mask-origin 属性用于定义蒙版图像的定位原点。它的行为与 background-origin 属性非常相似。

语法:

mask-origin: 关键字;

说明:

mask-origin 的取值有 3 种,如下表所示。

mask-origin 属性取值
取值 说明
border-box(默认值) 从边框左上角开始放置
padding-box 从内边距左上角开始放置
content-box 从内容区左上角开始放置

边框、内边距、内容区都是 CSS 盒子模型 的概念,如下图所示。

CSS 盒子模型 1

对于 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: border-box; 表示蒙版图片的定位原点为边框左上角。如果改为 mask-origin: padding-box;,此时页面效果如下图所示。

mask-origin: padding-box;

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

mask-origin: content-box;

mask 是一个复合属性

在 CSS 中,mask 是一个复合属性,它包含很多子属性(如下表所示)。

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

上一篇: mask-size

下一篇: mask-clip

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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