Играя с фильтрами SVG, я столкнулся с проблемой ссылки на фильтр SVG из CSS. В некоторых случаях применение фильтра приводит к удалению элемента, к которому применяется фильтр, со страницы. Я думал, что может быть 2 причины:
- тот факт, что я добавлял фильтры динамически, используя D3JS;
- тот факт, что я ссылаюсь на фильтры в CSS, определенные в отдельном файле.
Чтобы проверить это, я создал MWE, демонстрирующий проблему. Для меня это отображается в Firefox и Chrome без ничего в левом поле и серым кружком (ожидаемый результат) в правом поле. Это устраняет причину 1, я думаю. После того, как я сделал это, я попытался:
- Ссылка с использованием
url(.#filter-id)
, поэтому с ведущей точкой. Это не изменило результат. - Перемещение
defs
в тот же элементsvg
, где находится круг. Это исправляет проблему.
Мой вопрос: можно ли как-то сослаться на фильтр, определенный в отдельном элементе SVG? Я бы очень предпочел сделать это таким образом в своем приложении. Я прочитал, что есть проблемы с внешними файлами, но другой элемент в тот же файл обязательно должен быть возможен?
url(.#filter-id)
, я читал, что это должно выглядеть в файле HTML. Это не так, по крайней мере для меня. - person Just a student   schedule 23.08.2016.
должна работать, верно? - person Just a student   schedule 23.08.2016