@TedMarsh

Как вставлять svg?

У популярных сайтов видел вставку base64, image/svg+xml, svg спрайтом и вставку svg отдельным изображением.
Base64 не рассматривается, т.к. svg+xml и так хорошо поддерживается. У svg+xml есть возможно минус, он занимает код в css файле. У яндекса, кстати, `background-image: url('data:image/svg+xml;base64,PHN2...')` был размером 28кб(~28000 символов) в css файле.
У svg спрайта минусов не вижу, почему бы все svg не вставить в него? Запрос 1, вставка в css с помощью `background-position`, в html тег ``. Хотя, если нужна поддержка браузеров которые не поддерживают его, придётся или вставлять svg через css, или делать отдельные изображения svg. Но если нужно манипулировать с svg, анимировать, скрывать, менять цвет отдельных блоков, вставка svg прямиком в html файл - прекрасный вариант, я думаю.
У хранения svg в отдельных файлах есть минус - много запросов на сервер.

PS: Почти все сайты которые я смотрел вставляют svg логотип прямиком в html. Яндекс вставлял его иногда прямиком, иногда тегом img, если лого в png, возможно svg ел много места. У стек оверфлоу лого хранится в спрайте со всеми другими иконками.

Что из этого выбирать и в каких ситуациях? Слишком уж много вариантов. Спасибо за ответ!
  • Вопрос задан
  • 289 просмотров
Пригласить эксперта
Ответы на вопрос 1
samodum
@samodum
Какой вопрос - такой и ответ
SVG vs растровое_изображение - это баланс между размером и качеством изображения.
Всё зависит от сложности логотипа
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы