CSS 属性

CSS 属性 mask-type 将 SVG <mask> 元素设置为亮度或 alpha 蒙版。它适用于 <mask> 元素本身。

mask-mode CSS 属性可以覆盖此属性,因为它具有相同的效果。唯一的区别是,它应用于使用 mask 的元素。 Alpha 蒙版的渲染通常更快。

属性值

CSS 属性 mask-type 指定为以下值之一:

  • luminance:它是一个关键字,表示关联的掩模图像是亮度掩模。

  • alpha:它是一个关键字,表示关联的掩模图像是亮度掩模。相关图像是一个 alpha 蒙版。遮罩层图像的透明度(Alpha 通道)值用作遮罩值。 Alpha 值或 Alpha 通道指定 <color> 的不透明度。

应用于

应用于所有 <mask> 元素。

语法

mask-type = luminance | alpha; 

CSS mask-type: alpha 值

以下示例演示了 CSS 属性 mask-type 的使用,其中使用具有黑色和透明区域的遮罩元素。使用元素的 id (#mask),它将掩码放置在 <div> 元素上。由于遮罩有黑色和透明区域,因此遮罩类型设置为 alpha。

<html>
<head>
<style>
    div {
      width: 150px;
      height: 150px;
      background-color: purple;
      mask-image: url(#mask);
   }    

   mask {
      mask-type: alpha; 
   }
</style>
</head>
<body>
   <div></div>
   <svg>
      <mask id="mask">
         <path fill="black" d="M10,35 A20,20,0,0,1,50,35 A20,20,0,0,1,90,35 Q90,65,50,95 Q10,65,10,35 Z" />
      </mask>    
   </svg></body>
</html> 

CSS mask-type: 亮度值

以下示例演示 CSS 属性的使用mask-type,值为亮度。

<html>
<head>
<style>
   body {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 100%;
      margin: 0;
      background-color: darkgrey;
      overflow: hidden;
   }

   .container {
      display: grid;
      position: relative;
      padding: 20px;
      border: 2px solid black;
   }

   .box {
      margin: 20px;
      display: block;
      width: 200px;
      height: 150px;
      background-image: url(/css/images/border.png);
      mask-type: luminance;
   }

   .overlay {
      position: absolute;
      width: 100%;
      height: 100%;
      background-color: rgb(0, 201, 0, 0.2);
   }
</style>
</head>
<body>
   <div class="container">
      <div class="box"></div>
      <div class="overlay"></div>
   </div>
</body>
</html> 

在上面的示例中:

  • .box 类表示具有背景图像的元素将被屏蔽。

  • .overlay 类用于向屏蔽区域添加浅绿色覆盖层,以获得更好的可见性。