<defs>

Baseline 已廣泛支援

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

<defs> SVG 元素用於儲存稍後將使用的圖形物件。在 <defs> 元素內部建立的物件不會直接渲染。要顯示它們,您必須引用它們(例如,使用 <use> 元素)。

圖形物件可以從任何地方引用,但是,將這些物件定義在 <defs> 元素內部可以提高 SVG 內容的可理解性,並有利於文件的整體可訪問性。

使用語境

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

屬性

此元素僅包含全域性屬性。

DOM 介面

此元素實現了 SVGDefsElement 介面。

示例

html
<svg viewBox="0 0 10 10" xmlns="http://www.w3.org/2000/svg">
  <!-- Some graphical objects to use -->
  <defs>
    <circle id="myCircle" cx="0" cy="0" r="5" />

    <linearGradient id="myGradient" gradientTransform="rotate(90)">
      <stop offset="20%" stop-color="gold" />
      <stop offset="90%" stop-color="red" />
    </linearGradient>
  </defs>

  <!-- using my graphical objects -->
  <use x="5" y="5" href="#myCircle" fill="url('#myGradient')" />
</svg>

規範

規範
Scalable Vector Graphics (SVG) 2
# 頭部

瀏覽器相容性