<symbol>

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Das <symbol> SVG-Element wird verwendet, um grafische Vorlagenobjekte zu definieren, die von einem <use>-Element instanziiert werden können.

Die Verwendung von <symbol>-Elementen für Grafiken, die mehrfach im selben Dokument genutzt werden, fügt Struktur und Semantik hinzu. Dokumente mit reichhaltiger Struktur können grafisch, als Sprache oder in Brailleschrift gerendert werden, was die Barrierefreiheit fördert.

Beispiel

html
<svg viewBox="0 0 80 20" xmlns="http://www.w3.org/2000/svg">
  <!-- Our symbol in its own coordinate system -->
  <symbol id="myDot" width="10" height="10" viewBox="0 0 2 2">
    <circle cx="1" cy="1" r="1" />
  </symbol>

  <!-- A grid to materialize our symbol positioning -->
  <path
    d="M0,10 h80 M10,0 v20 M25,0 v20 M40,0 v20 M55,0 v20 M70,0 v20"
    fill="none"
    stroke="pink" />

  <!-- All instances of our symbol -->
  <use href="#myDot" x="5" y="5" style="opacity:1.0" />
  <use href="#myDot" x="20" y="5" style="opacity:0.8" />
  <use href="#myDot" x="35" y="5" style="opacity:0.6" />
  <use href="#myDot" x="50" y="5" style="opacity:0.4" />
  <use href="#myDot" x="65" y="5" style="opacity:0.2" />
</svg>

Attribute

height

Dieses Attribut bestimmt die Höhe des Symbols. Werttyp: <length> | <percentage>; Standardwert: auto; Animierbar: ja

preserveAspectRatio

Dieses Attribut definiert, wie das SVG-Fragment verzerrt werden muss, wenn es in einem Container mit einem anderen Seitenverhältnis eingebettet wird. Werttyp: (none | xMinYMin | xMidYMin | xMaxYMin | xMinYMid | xMidYMid | xMaxYMid | xMinYMax | xMidYMax | xMaxYMax) (meet | slice)?; Standardwert: xMidYMid meet; Animierbar: ja

refX

Dieses Attribut bestimmt die x-Koordinate des Referenzpunkts des Symbols. Werttyp: <length> | <percentage> | left | center | right; Standardwert: Keine; Animierbar: ja

refY

Dieses Attribut bestimmt die y-Koordinate des Referenzpunkts des Symbols. Werttyp: <length> | <percentage> | top | center | bottom; Standardwert: Keine; Animierbar: ja

viewBox

Dieses Attribut definiert die Begrenzung des SVG-Anzeigebereichs für das aktuelle Symbol. Werttyp: <list-of-numbers>; Standardwert: keine; Animierbar: ja

width

Dieses Attribut bestimmt die Breite des Symbols. Werttyp: <length> | <percentage>; Standardwert: auto; Animierbar: ja

x

Dieses Attribut bestimmt die x-Koordinate des Symbols. Werttyp: <length> | <percentage>; Standardwert: 0; Animierbar: ja

y

Dieses Attribut bestimmt die y-Koordinate des Symbols. Werttyp: <length> | <percentage>; Standardwert: 0; Animierbar: ja

Nutzungskontext

KategorienContainer-Element, Strukturelement
Erlaubter InhaltBeliebige Anzahl folgender Elemente, in beliebiger Reihenfolge:
Animationselemente
Beschreibende Elemente
Formelemente
Strukturelemente
Gradient-Elemente
<a>, <clipPath>, <cursor>, <filter>, <font>, <font-face>, <foreignObject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view>

Hinweis: Ein <symbol>-Element selbst soll nicht gerendert werden. Nur Instanzen eines <symbol>-Elements (d.h. ein Verweis auf ein <symbol> durch ein <use>-Element) werden gerendert. Das bedeutet, dass einige Browser sich weigern könnten, ein <symbol>-Element direkt anzuzeigen, auch wenn die CSS display-Eigenschaft etwas anderes angibt.

Spezifikationen

Specification
Scalable Vector Graphics (SVG) 2
# SymbolElement

Browser-Kompatibilität