SVGRadialGradientElement:fr 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2020 年 1 月⁩ 起,所有主流瀏覽器均已支援。

SVGRadialGradientElement 介面的只讀屬性 fr 將徑向漸變的焦點圓的半徑描述為 SVGAnimatedLength。它反映了 <radialGradient> 元素上 fr 屬性的計算值。

屬性值可以是 <length><percentage><number>SVGAnimatedLength.baseVal 的數值是徑向漸變焦點在使用者座標系中的半徑。

一個 SVGAnimatedLength 物件。

示例

給定以下 SVG,其中聲明瞭兩個具有不同單位型別的相同漸變

html
<svg viewBox="0 0 200 100" width="200" xmlns="http://www.w3.org/2000/svg">
  <defs>
    <radialGradient id="gradient1" r="20%" fr="0.5">
      <stop offset="0%" stop-color="red" />
      <stop offset="100%" stop-color="yellow" />
    </radialGradient>
    <radialGradient id="gradient2" r="20%" fr="50%">
      <stop offset="0%" stop-color="red" />
      <stop offset="100%" stop-color="yellow" />
    </radialGradient>
  </defs>
  <rect x="0" y="0" width="100" height="100" fill="url(#gradient1)" />
  <rect x="100" y="0" width="100" height="100" fill="url(#gradient2)" />
</svg>

我們可以訪問 fr 屬性的單位型別、值以及不帶單位型別的值

js
const radialGradients = document.querySelectorAll("radialGradient");
const frGradient1 = radialGradients[0].fr;
const frGradient2 = radialGradients[1].fr;

console.log(frGradient1.baseVal.unitType); // 1 (SVGLength.SVG_LENGTHTYPE_NUMBER)
console.log(frGradient1.baseVal.value); // 0.5
console.log(frGradient1.baseVal.valueInSpecifiedUnits); // 0.5

console.log(frGradient2.baseVal.unitType); // 2 (SVGLength.SVG_LENGTHTYPE_PERCENTAGE)
console.log(frGradient2.baseVal.value); // 79.05693817138672
console.log(frGradient2.baseVal.valueInSpecifiedUnits); // 50

規範

規範
Scalable Vector Graphics (SVG) 2
# __svg__SVGRadialGradientElement__fr

瀏覽器相容性

另見