@kirill-93

Как использовать svg?

Извините за глупый вопрос, но объясните пожалуйста разницу:
Есть файл img.svg - картинка, вставляю на страницу через img
Есть файл icons.svg, открыть его ничем не получается, но в нем много иконок, которые доступны через #, подключаются они вот таким образом:
<svg>
       <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="/img/icons/icons.svg#facebook"></use>
</svg>

Во втором случае я могу для тега svg задавать стили, и, например, менять цвет svg картинки.
А одиночный файл img.svg я не могу подключить через теги svg и use.
Вопросы: чем отличаются одиночные файлы от сгруппированных? Как или чем эти файлы группируют? Чем их можно открыть? И как мне работать с одиночным файлом через тег svg, чтобы менять его стили?
Спасибо!
  • Вопрос задан
  • 788 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@svgartru2016
icons.svg#facebook
Этот файл является спрайтом, в котором лежат иконки, каждая из которых обернута скорее всего в тег <symbol id="facebook"> .... </symbol>
Для каждой иконки свой уникальный идентификатор. Тег symbol скрывает все, что лежит внутри, также как и тег defs. Поэтому вы и не видите иконки открывая броузером файл icons.svg Иконки становятся видны, когда их вызывают с помощью use
<!-- когда спрайт находится внутри файла -->
<use xlink:href="#facebook"></use> 
<!-- когда спрайт находится вне файла -->
<use  xlink:href="/img/icons/icons.svg#facebook"></use>

Как менять стили SVG из внешней таблицы CSS можно посмотреть здесь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы