The <use>
element takes nodes from within the SVG document, and duplicates them somewhere else. The effect is the same as if the nodes were deeply cloned into a non-exposed DOM, and then pasted where the use
element is, much like cloned template elements in HTML5. Since the cloned nodes are not exposed, care must be taken when using CSS to style a use
element and its hidden descendants. CSS attributes are not guaranteed to be inherited by the hidden, cloned DOM unless you explicitly request it using CSS inheritance.
For security reasons, some browsers could apply a same-origin policy on use
elements and could refuse to load a cross-origin URI within the href
attribute.
Since SVG 2, the xlink:href
attribute is deprecated in favor of simply href
. See xlink:href
page for more information.
Categories | Graphics element, Graphics referencing element, Structural element |
---|---|
Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements |
class
style
externalResourcesRequired
transform
This element implements the SVGUseElement
interface.
<svg width="80" height="80" xmlns="http://www.w3.org/2000/svg" xmlns:x="http://www.w3.org/1999/xlink"> <style> .classA { fill: red; } </style> <defs> <g id="Port"> <circle style="fill: inherit;" r="10"/> </g> </defs> <text y="15">black</text> <use x="50" y="10" href="#Port" /> <text y="35">red</text> <use x="50" y="30" href="#Port" class="classA"/> <text y="55">blue</text> <use x="50" y="50" href="#Port" style="fill: blue;"/> </svg>
Specification | Status | Comment |
---|---|---|
Scalable Vector Graphics (SVG) 2 The definition of '<use>' in that specification. | Candidate Recommendation | |
Scalable Vector Graphics (SVG) 1.1 (Second Edition) The definition of '<use>' in that specification. | Recommendation | Initial definition |
Feature | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|---|
Basic support | 22 | 12 | 4.0 | (Yes) | 11.5 | 5.1 |
Load from external URI | 22 | 13 | 4.0 | No support | 11.5 | 6.1 |
Load from data: URI | 22 | (Yes) | 4.0 | No support | 11.5 | 5.1 |
Feature | Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | 4.0 | 12 | 4.0 | (Yes) | 11.5 | 5.1 |
Load from external URI | 4.4 | 13 | 4.0 | No support | 11.5 | 6.1 |
Load from data: URI | 4.0 | (Yes) | 4.0 | No support | 11.5 | 5.1 |
<svg:use>
cascading rules (see bug 265894). A fix is documented by Amelia Bellamy-Royds on StackOverflow. The good news is that this is finally fixed as of Firefox 56.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/SVG/Element/use