SVGMaskElement: x 屬性

Baseline 已廣泛支援

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

SVGMaskElement 介面的只讀 x 屬性返回一個 SVGAnimatedLength 物件,其中包含 <mask> 元素的 x 屬性的值。它表示遮罩區域左上角的 x 軸座標。

注意: 儘管此屬性是隻讀的,但它只是一個包含兩個您可以修改的值的容器:baseValanimVal

一個 SVGAnimatedLength 物件,位於 SVGMaskElement.maskUnits 定義的座標系中。該物件的 baseVal 屬性返回一個 SVGLength,其值返回初始的 x 值。

示例

html
<div>
  <svg viewBox="-10 -10 120 120" width="100" height="100">
    <mask id="mask" x="0" maskUnits="userSpaceOnUse">
      <!-- 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" />
      <animate
        attributeName="x"
        values="0;80;0"
        dur="5s"
        repeatCount="indefinite" />
    </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" mask="url(#mask)" />
  </svg>
</div>
<pre id="log"></pre>
js
const mask = document.getElementById("mask");

function displayLog() {
  const animValue = mask.x.animVal.value;
  const baseValue = mask.x.baseVal.value;
  log.textContent = `The 'x.animVal' is ${animValue}.\n`;
  log.textContent += `The 'x.baseVal' is ${baseValue}.`;
  requestAnimationFrame(displayLog);
}
displayLog();

規範

規範
CSS 蒙版模組 Level 1
# dom-svgmaskelement-x

瀏覽器相容性