Enthalten SVG-Datei in SVG
Habe ich einen linearGradient im defs-Bereich meiner SVG-Datei, und verweisen Sie darauf mit fill="url(#myGradientName)". Das funktioniert Super so weit.
Ich denke, ich sollte in der Lage sein, meine ganze defs-Abschnitt in seine eigene SVG-Datei, und dann einfach die Referenz, die von allen SVG-Bildern. Das ist, so etwas wie:
Stile.svg:
<svg xmlns=...>
<defs>
<linearGradient id="myGradient" ...>
</linearGradient>
</defs>
</svg>
Bild.svg:
<svg xmlns=...>
<rect width="100" height="100" fill="styles.svg#myGradient"/>
</svg>
Aber ich kann nicht scheinen, um den Stil anzuwenden. Habe ich die falsche syntax für die IDs, die extern auf diese Datei (styles.svg#myGradient)? Muss ich explizit die Datei zuerst irgendwie?
Habe ich schon Gießen über die SVG-Spezifikation und es sieht aus wie sollte dies möglich sein, aber keines der Beispiele wirklich zeigen, dass es getan wird.
Edit: Die FOP-FAQ deutet darauf hin, dass die korrekte syntax ist fill="url(grad.svg#PurpleToWhite)", aber das funktioniert nicht in Gecko oder Webkit. Ist das richtig und niemand unterstützt, oder mache ich etwas anderes falsch?
- Verwandte: stackoverflow.com/questions/20459685/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie es aussieht wird das nur unterstützt, unter Firefox 3.1.
Brauchen Sie Sie nicht zu sagen
fill="url(styles.svg#myGradient)"
. Das funktioniert in Firefox 4 beta 6 und Stelle mir vor, es funktionierte in Firefox 3.5. Aber Chrome (7.0.517.41 beta) und die IE9 beta (9.0.7930.16406) noch nicht unterstützen. Es sieht aus wie Sie beide Aussehen, für #myGradient in das aktuelle Dokument anstelle des eigentlich zu der angegebenen URL. Brutto.Hier sind die kompletten Dateien, die ich verwendet, um dies zu testen:
Stile.svg
Bild.svg
fill="currentColor"
helfen würde. Wenn Sie darunter ein SVG-Symbol wiederholt mit<img>
oder<object>
dann es wird nicht Erben die CSS-Eigenschaften aus der Seite stylesheets, aber vielleichtcurrentColor
würde immer noch funktionieren.Ich glaube, ich kann nur beantwortet deine Frage in diesem thread hier.
Tatsächlich, die FOP-FAQ Recht hat, die richtige syntax umfaßt die URI mit
url(...)
. Gerade überprüft mit meinem Firefox, und es Griffe füllt nur mit umliegendenurl()
. Wäre es ein bug in Safari oder Opera, wenn die würde behandeln es anders.Ich zufällig eingereicht ähnliche Frage, aber mit ebenso wenig Erfolg.
Cheers,