Nota xlink:href
è stata deprecata , basta usare href
invece, ad es
<svg viewBox="0 0 512 512">
<image width="512" height="512" href="external.svg"/>
</svg>
viewBox
, width
E height
valori (in questa risposta) sono semplicemente a scopo illustrativo, regolare il layout di conseguenza ( continua ).
Poiché <image>
condivide specifiche simili a <img>
, il che significa che non supporta lo stile SVG, come menzionato nella risposta di Christiaan . Ad esempio, se ho la seguente riga CSS che imposta il colore della forma SVG in modo che sia uguale al colore del carattere,
svg {
fill: currentColor;
}
Lo stile sopra non si applicherebbe se <image>
fosse usato. Per questo, è necessario utilizzare <use>
, come mostrato nella risposta di Nick .
Nota id="layer1"
e href="OTHERFILE.svg#layer1"
valori nella sua risposta sono obbligatori .
Significa che devi aggiungere l' id
attributo al file svg esterno, quindi devi ospitare il file svg esterno (modificato) da solo (il tuo sito web) o da qualche altra parte. Il file svg esterno risultante ha questo aspetto (nota dove ho inserito id
):
<svg id="logo" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
<path d="..."/>
</svg>
Il valore di id può essere qualsiasi cosa, uso "logo" in questo esempio.
Per incorporare tale svg,
<svg viewBox="0 0 512 512">
<use href="edited-external.svg#logo"/>
</svg>
Se usi lo svg sopra come inline nel tuo html, non hai bisogno dell'attributo xmlns (almeno quello che so da svgo ).