The <symbol>
element is used to define graphical template objects which can be instantiated by a <use>
element. The use of symbol
elements for graphics that are used multiple times in the same document adds structure and semantics. Documents that are rich in structure may be rendered graphically, as speech, or as Braille, and thus promote accessibility. Note that a symbol
element itself is not rendered. Only instances of a symbol
element (i.e., a reference to a symbol
by a <use>
element) are rendered.
Usage context
Categories | Container element, Structural element |
---|---|
Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements Shape elements Structural elements Gradient elements <a> , <altGlyphDef> , <clipPath> , <color-profile> , <cursor> , <filter> , <font> , <font-face> , <foreignObject> , <image> , <marker> , <mask> , <pattern> , <script> , <style> , <switch> , <text> , <view> |
Attributes
Global attributes
- Core attributes »
- Graphical event attributes »
- Presentation attributes »
class
style
externalResourcesRequired
Specific attributes
DOM Interface
This element implements the SVGSymbolElement
interface.
Example
<svg width="120" height="140"> <!-- symbol definition NEVER draw --> <symbol id="sym01" viewBox="0 0 150 110"> <circle cx="50" cy="50" r="40" stroke-width="8" stroke="red" fill="red"/> <circle cx="90" cy="60" r="40" stroke-width="8" stroke="green" fill="white"/> </symbol> <!-- actual drawing by "use" element --> <use href="#sym01" x="0" y="0" width="100" height="50"/> <use href="#sym01" x="0" y="50" width="75" height="38"/> <use href="#sym01" x="0" y="100" width="50" height="25"/> </svg>
Specifications
Specification | Status | Comment |
---|---|---|
Scalable Vector Graphics (SVG) 2 The definition of '<symbol>' in that specification. |
Candidate Recommendation | Allowed geometry properties to be specified on a symbol |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) The definition of '<symbol>' in that specification. |
Recommendation | Initial definition |
Browser compatibility
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic support | 1.0 | (Yes) | 1.5 (1.8) | 9.0 | 9.0 | 3.0.4 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 3.0 | (Yes) | 1.0 (1.8) | No support | (Yes) | 3.0.4 |
The chart is based on these sources.