<mask>

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

<mask> SVG 元素用於定義用於將當前物件與背景合成的蒙版。蒙版透過 mask 屬性和 CSS mask-image 屬性使用/引用。

使用語境

分類容器元素
允許內容可包含任意數量、任意順序的下列元素
動畫元素
描述性元素
形狀元素
結構元素
漸變元素
<a><clipPath><filter><foreignObject><image><marker><mask><pattern><script><style><switch><text><view>

屬性

height

此屬性定義蒙版區域的高度。值型別<length>預設值120%可動畫

mask-type

此屬性定義 <mask> 內容的蒙版模式。值型別alpha | luminance預設值luminance可動畫

遮罩內容單位

此屬性定義 <mask> 內容的座標系。值型別userSpaceOnUse | objectBoundingBox預設值userSpaceOnUse可動畫

遮罩單位

此屬性定義 <mask> 元素上 xywidthheight 屬性的座標系。值型別userSpaceOnUse | objectBoundingBox預設值objectBoundingBox可動畫

x

此屬性定義蒙版區域左上角的 x 軸座標。值型別<coordinate>預設值-10%可動畫

y

此屬性定義蒙版區域左上角的 y 軸座標。值型別<coordinate>預設值-10%可動畫

width

此屬性定義蒙版區域的寬度。值型別<length>預設值120%可動畫

DOM 介面

此元素實現了 SVGMaskElement 介面。

示例

html
<svg viewBox="-10 -10 120 120">
  <rect x="-10" y="-10" width="120" height="120" fill="blue" />
  <mask id="myMask" mask-type="luminance">
    <!-- Everything under a white pixel will be visible -->
    <rect x="0" y="0" width="100" height="100" fill="white" />

    <!-- Everything under a black pixel will be invisible -->
    <path
      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"
      fill="black" />
  </mask>

  <polygon points="-10,110 110,110 110,-10" fill="orange" />

  <!-- with this mask applied, we "punch" a heart shape hole into the circle -->
  <circle cx="50" cy="50" r="50" fill="purple" mask="url(#myMask)" />
</svg>

規範

規範
CSS 蒙版模組 Level 1
# MaskElement

瀏覽器相容性

另見