Почему я не могу ссылаться на линейный градиент SVG, определенный во внешнем файле (сервере рисования)?
Пожалуйста, посмотрите на эту ручку:
http://codepen.io/troywarr/pen/VYmbaa
Что я делаю здесь:
определение символа SVG (<symbol>
)определение линейного градиента SVG (<linearGradient>
)с использованием<use>
элемент для ссылки на символ SVG, который я создалв CSS, определяя два класса:external
, который ссылается на линейный градиент, определенный вэтот внешний.svg
файл (щелкните правой кнопкой мыши и просмотрите источник)internal
, который ссылается на линейный градиент, определенный в локальном HTML (который, я полагаю, фактически идентичен тому во внешнем файле)Потому что я применилinternal
класс к<svg>
элемент в нижней части примера HTML, применяется градиент, отображающий галочку с синим градиентом. Это то, что я после.
Но если вы переключитеinternal
класс дляexternal
в примере HTML галочка больше не видна:
http://codepen.io/troywarr/pen/vEymKX
Когда я смотрю вкладку «Сеть» в Chrome Inspector, я не вижу браузера, пытающегося загрузить файл SVG вообще. Есть ли проблема с моим синтаксисом, или что-то еще происходит здесь?
Это как минимумвыглядит как я делаю это правильно, основываясь на нескольких ссылках, которые я нашел:
http://www.w3.org/TR/SVG/painting.html#SpecifyingPainthttp://www.w3.org/TR/SVG/linking.html#IRIReferencehttps://stackoverflow.com/a/7118142/167911Но ничто из того, что я пробовал, не позволяло мне ссылаться на линейный градиент, определенный во внешнем.svg
файл.
Спасибо за любую помощь!