Si prega di dare un'occhiata a questo Pen:Perché non è possibile fare riferimento a un gradiente lineare SVG definito in un file esterno (paint server)?
http://codepen.io/troywarr/pen/VYmbaa
Quello che sto facendo qui è:
- la definizione di un simbolo SVG (
<symbol>
) - la definizione di un gradiente lineare SVG (
<linearGradient>
- utilizzando l'elemento
<use>
per fare riferimento al simbolo SVG che ho creato - nel CSS, definiscono due classi:
external
, che fa riferimento al gradiente lineare definito this external.svg
file (tasto destro del mouse e visualizza sorgente)internal
, che fa riferimento al gradiente lineare definito nel HTML locale (che è , io credo, in modo efficace identico a quello nel file esterno)
Perché io ho applicato la classe internal
all'elemento <svg>
in basso o Nell'esempio HTML, viene applicata la sfumatura, rendendo un segno di spunta gradiente blu. Questo è quello che sto cercando.
Ma, se si passa alla classe internal
-external
nell'esempio HTML, il segno di spunta non è più visibile:
http://codepen.io/troywarr/pen/vEymKX
Quando guardo scheda "Network" di Chrome ispettore, non vedo il browser sta tentando di caricare il file SVG. C'è un problema con la mia sintassi, o qualcos'altro sta succedendo qui?
E almeno sembra come sto facendo questo diritto, sulla base di alcuni riferimenti che ho trovato:
- http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint
- http://www.w3.org/TR/SVG/linking.html#IRIReference
- https://stackoverflow.com/a/7118142/167911
Ma , nulla di ciò che ho provato finora mi ha permesso di fare riferimento a un gradiente lineare definito in un esterno .svg
file.
Grazie per qualsiasi aiuto!
Qui a partire dal 2016 ed è ancora un problema. Volevo generare campioni SVG e fare riferimento a riempimenti in altri file SVG, ma non funziona in Chrome/Safari/Webkit. –