CSS 属性

CSS mask-origin 属性定义遮罩图像的原点。

该属性为显示为单个框的元素提供遮罩定位区域,这意味着它指定了所确定的图像的原点位置通过 mask-image CSS 属性。

对于显示为多个框的元素(例如,多行上的行内框)或跨越多个页面的框),mask-origin 属性指定哪些框受 box-decoration-break 影响,以确定遮罩定位区域。

属性值

  • content-box: 设置遮罩图像相对于内容框外边缘的原点。

  • padding-box: 设置遮罩图像的原点相对于填充框外边缘的遮罩图像。

  • border-box: 设置遮罩图像相对于边框框外边缘的原点。

  • fill-box: 设置遮罩图像相对于对象边界框的原点。

  • lines-box: 设置遮罩图像相对于对象边界框的原点。相对于笔画边界框的蒙版图像的原点。

  • view-box: 最近的 SVG 视口被视为参考框。具有 viewBox 属性的 SVG 元素将其内容放置在 viewBox 定义的坐标系的原点处,并且参考框的大小或尺寸设置为 viewBox 属性中指定的宽度和高度。

适用范围

所有元素。在 SVG 中,它适用于不包括 <defs> 元素和所有图形元素的容器元素。

语法

mask-origin: content-box;
 mask-origin: padding-box;
 mask-origin: border-box;
 mask-origin: fill-box;
 mask-origin: stroke-box;
 mask-origin: view-box; 

CSS mask-origin: content-box

以下内容示例演示了 -webkit-mask-origin: content-box 属性使用元素的内容框设置遮罩图像的原点 -

<html>
<head>
<style>
   .box {
      max-width: 280px;
      border: 3px solid blue;
   }
   .mask-container {
      background-color: gold;
      display: block;
      padding: 20px;
      width: 200px;
      height: 200px;
      border: 20px solid red;
      -webkit-mask-image: url(/css/images/heart.png);
      -webkit-mask-position: top left;
      -webkit-mask-repeat: repeat;
      -webkit-mask-size: 70px 70px;
      -webkit-mask-origin: content-box;
   }
</style>
</head>
<body>
   <div class="box">
      <div class="mask-container">
         <img src="/css/images/pink-flower.jpg" alt="pink flower" width="100%">
      </div>
   </div>
</body>
</html> 

CSS mask-origin: padding-box

以下示例演示了 -webkit-mask-origin: padding-box 属性使用元素的填充框设置遮罩图像的原点 -

<html>
<head>
<style>
   .box {
      max-width: 280px;
      border: 3px solid blue;
   }
   .mask-container {
      background-color: gold;
      display: block;
      padding: 20px;
      width: 200px;
      height: 200px;
      border: 20px solid red;
      -webkit-mask-image: url(/css/images/heart.png);
      -webkit-mask-position: top left;
      -webkit-mask-repeat: repeat;
      -webkit-mask-size: 70px 70px;
      -webkit-mask-origin: padding-box;
   }
</style>
</head>
<body>
   <div class="box">
      <div class="mask-container">
         <img src="/css/images/pink-flower.jpg" alt="pink flower" width="100%">
      </div>
   </div>
</body>
</html> 

CSS mask-origin: border- box

下面的示例演示了 -webkit-mask-origin: border-box 属性使用元素的边框框设置遮罩图像的原点 -

<html>
<head>
<style>
   .box {
      max-width: 280px;
      border: 3px solid blue;
   }
   .mask-container {
      background-color: gold;
      display: block;
      padding: 20px;
      width: 200px;
      height: 200px;
      border: 20px solid red;
      -webkit-mask-image: url(/css/images/heart.png);
      -webkit-mask-position: top left;
      -webkit-mask-repeat: repeat;
      -webkit-mask-size: 70px 70px;
      -webkit-mask-origin: border-box;
   }
</style>
</head>
<body>
   <div class="box">
      <div class="mask-container">
         <img src="/css/images/pink-flower.jpg" alt="pink flower" width="100%">
      </div>
   </div>
</body>
</html> 

CSS mask -origin: fill-box

以下示例演示了 -webkit-mask-origin: fill-box 属性设置遮罩图像相对于整个框的原点,包括任何填充 -

<html>
<head>
<style>
   .box {
      max-width: 240px;
      border: 3px solid blue;
   }
   .mask-container {
      background-color: gold;
      display: block;
      padding: 20px;
      width: 200px;
      height: 200px;
      -webkit-mask-image: url(/css/images/heart.png);
      -webkit-mask-position: top left;
      -webkit-mask-repeat: repeat;
      -webkit-mask-size: 70px 70px;
      -webkit-mask-origin: fill-box;
   }
</style>
</head>
<body>
   <div class="box">
      <div class="mask-container">
         <img src="/css/images/pink-flower.jpg" alt="pink flower" width="100%">
      </div>
   </div>
</body>
</html> 

CSS mask-origin: stroke-box

以下示例演示 -webkit-mask-origin:Stroke-box 属性设置遮罩图像相对于笔划边界框的原点,包括任何填充和边框 -

<html>
<head>
<style>
   .box {
      max-width: 280px;
      border: 3px solid blue;
   }
   .mask-container {
      background-color: gold;
      display: block;
      padding: 20px;
      width: 200px;
      height: 200px;
      border: 20px solid red;
      
      -webkit-mask-image: url(/css/images/heart.png);
      -webkit-mask-position: top left;
      -webkit-mask-repeat: repeat;
      -webkit-mask-size: 70px 70px;
      -webkit-mask-origin: stroke-box;
   }
</style>
</head>
<body>
   <div class="box">
      <div class="mask-container">
         <img src="/css/images/pink-flower.jpg" alt="pink flower" width="100%">
      </div>
   </div>
</body>
</html>