Proszę spojrzeć na tego pióra:Dlaczego nie mogę odwołać się do liniowego gradientu SVG zdefiniowanego w zewnętrznym pliku (serwer malowania)?
http://codepen.io/troywarr/pen/VYmbaa
Co robię tutaj jest:
- definiując symbol SVG (
<symbol>
) - definiowania gradientu liniowego SVG (
<linearGradient>
) - za pomocą elementu
<use>
w celu odniesienia do symbolu SVG, który utworzyłem: - w CSS, definiujące dwie klasy:
external
, który odwołuje się do gradientu liniowego zdefiniowany w this external.svg
file (prawy przycisk myszy i źródłowy)internal
, która odwołuje się gradient liniowy określony w miejscowym HTML (które jest wierzę, skutecznie identyczny jak w pliku zewnętrznym)
Bo ja zastosowano klasę internal
do elementu <svg>
na dole o W przykładzie HTML zastosowano gradient, wyświetlając niebieski znacznik wyboru gradientu. Właśnie tego szukam.
Ale jeśli przełączyć klasę internal
do external
na przykład HTML, zaznaczenie nie jest już widoczny:
http://codepen.io/troywarr/pen/vEymKX
Kiedy oglądam kartę Chrome inspektora „Network”, nie widzę przeglądarka próbuje załadować plik SVG w ogóle. Czy jest jakiś problem z moją składnią, czy coś tu się dzieje?
To przynajmniej wygląda jak robię to prawo, na podstawie kilku odnośnikach znalazłem:
- http://www.w3.org/TR/SVG/painting.html#SpecifyingPaint
- http://www.w3.org/TR/SVG/linking.html#IRIReference
- https://stackoverflow.com/a/7118142/167911
Ale , nic, co do tej pory próbowałem, nie pozwoliło mi odnieść się do gradientu liniowego zdefiniowanego w zewnętrznym .svg
plików.
Dzięki za pomoc!
Tutaj od 2016 roku i nadal jest problemem. Chciał wygenerować próbki SVG i odnieść je do wypełnienia innych plików SVG, ale nie działa w Chrome/Safari/Webkit. –