haben Sie einen Blick auf diese Pen:Warum kann ich nicht auf einen linearen SVG-Farbverlauf verweisen, der in einer externen Datei (Paint-Server) definiert ist?
http://codepen.io/troywarr/pen/VYmbaa
Was ich hier mache ist:
- ein SVG Symbol definieren (
<symbol>
) - eine SVG-linearen Gradienten definieren (
<linearGradient>
) - Verwenden Sie das
<use>
Element, um das SVG-Symbol zu referenzieren, das ich erstellt habe - in der CSS, die zwei Klassen:
external
, die die linearen Gradienten in this external.svg
file (rechts Quelle klicken und Ansicht)internal
, die die linearen Gradienten in dem lokalen HTML definiert verweisen definiert verweist (die , glaube ich, effektiv identisch mit dem in der externen Datei)
Weil ich die internal
Klasse das <svg>
Element am Boden angewandt habe o Im HTML-Beispiel wird der Farbverlauf angewendet, wobei ein blaues Farbverlaufs-Häkchen angezeigt wird. Das ist es wonach ich suche.
Aber, wenn Sie die internal
Klasse external
im HTML-Beispiel zu wechseln, ist das Häkchen nicht mehr sichtbar:
http://codepen.io/troywarr/pen/vEymKX
Als ich Chrome Inspector Registerkarte „Netzwerk“ sehen, ich sehe nicht, der Browser versucht, die SVG-Datei überhaupt zu laden. Gibt es ein Problem mit meiner Syntax oder geht hier etwas anderes vor?
Es mindestens sieht wie ich das richtig mache, basierend auf einigen Referenzen, die ich gefunden habe:
- http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint
- http://www.w3.org/TR/SVG/linking.html#IRIReference
- https://stackoverflow.com/a/7118142/167911
Aber , nichts, was ich bisher versucht habe, erlaubte mir, einen linearen Gradienten zu referenzieren, der in einem externendefiniert wurde 10 Datei.
Danke für jede Hilfe!
ab 2016 hier und es ist immer noch ein Problem. Wollte SVG-Farbfelder erstellen und auf Füllungen in anderen SVG-Dateien verweisen, funktioniert jedoch nicht in Chrome/Safari/Webkit. –