<symbol>
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das <symbol>
-Element im SVG wird verwendet, um grafische Vorlageobjekte zu definieren, die von einem <use>
-Element instanziiert werden können.
Die Verwendung von <symbol>
-Elementen für Grafiken, die mehrfach im selben Dokument verwendet werden, fügt Struktur und Semantik hinzu. Dokumente mit reicher Struktur können grafisch, als Sprache oder als Braille dargestellt werden und fördern somit die Barrierefreiheit.
Hinweis:
Ein <symbol>
-Element ist nicht dafür gedacht, gerendert zu 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, selbst wenn die CSS-Eigenschaft display
etwas anderes angibt.
Verwendungskontext
Kategorien | Container-Element, Strukturelement |
---|---|
Erlaubter Inhalt | Beliebige Anzahl folgender Elemente, in beliebiger Reihenfolge: Animationselemente Beschreibende Elemente Formelemente Strukturelemente Gradient-Elemente <a> , <clipPath> , <filter> , <foreignObject> , <image> , <marker> , <mask> , <pattern> , <script> , <style> , <switch> , <text> , <view> |
Attribute
height
-
Dieses Attribut bestimmt die Höhe des Symbols. Wertetyp: <length> | <percentage>; Standardwert:
auto
; Animierbar: ja preserveAspectRatio
-
Dieses Attribut definiert, wie das SVG-Fragment verformt werden muss, wenn es in einem Container mit einem anderen Seitenverhältnis eingebettet ist. Wertetyp: (
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. Wertetyp: <length> | <percentage> |
left
|center
|right
; Standardwert: Keiner; Animierbar: ja refY
-
Dieses Attribut bestimmt die y-Koordinate des Referenzpunkts des Symbols. Wertetyp: <length> | <percentage> |
top
|center
|bottom
; Standardwert: Keiner; Animierbar: ja viewBox
-
Dieses Attribut definiert die Begrenzung des SVG-Ansichtsfensters für das aktuelle Symbol. Wertetyp: <list-of-numbers>; Standardwert: keiner; Animierbar: ja
width
-
Dieses Attribut bestimmt die Breite des Symbols. Wertetyp: <length> | <percentage>; Standardwert:
auto
; Animierbar: ja x
-
Dieses Attribut bestimmt die x-Koordinate des Symbols. Wertetyp: <length> | <percentage>; Standardwert:
0
; Animierbar: ja y
-
Dieses Attribut bestimmt die y-Koordinate des Symbols. Wertetyp: <length> | <percentage>; Standardwert:
0
; Animierbar: ja
DOM-Schnittstelle
Dieses Element implementiert die SVGSymbolElement
-Schnittstelle.
Beispiel
<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>
Spezifikationen
Specification |
---|
Scalable Vector Graphics (SVG) 2 # SymbolElement |