Задать вопрос
andrei500
@andrei500
Middle Frontend Vue.js

Какие есть способы подключения svg спрайта в background?

Для подключения в использовал такой способ
<svg class="icon icon-figure">
	<use xlink:href="img/sprite.svg#icon-figure"></use>
</svg>

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
	
		<symbol id="icon-down" viewBox="0 0 12 6">
			<path d="M6 4l4.8-4L12 1 6 6 0 1l1.2-1L6 4z"/>
		</symbol>
	
		<symbol id="icon-figure" viewBox="0 0 100 100" preserveAspectRatio='none'>
			<path d="M0 100L100 0v100z"/>
		</symbol>
	
		<symbol id="icon-search" viewBox="0 0 17 17">
			<path fill-rule="evenodd" clip-rule="evenodd" d="M10.335 11.749a6.5 6.5 0 1 1 1.414-1.414l4.615 4.615-1.414 1.414-4.615-4.615zM11 6.5a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0z"/>
		</symbol>
	
</svg>

Но сделать таким же образом в css, не получается
background: url('../img/sprite.svg#icon-figure') center

пробовал найти способы, но все они больше похожи на костыли и при этом не дают возможности задавать цвет svg.
Существуют ли нормальные способы чтобы подключать svg спрайтом и в img и в background, при этом имея возможность его стилизовать?
Или может лучше стоить использовать svg отдельными файлами а не спрайтом?
  • Вопрос задан
  • 1593 просмотра
Подписаться 6 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
  • Skillbox
    Веб-вёрстка 3.0
    3 месяца
    Далее
  • OTUS
    HTML/CSS
    3 месяца
    Далее
Решения вопроса 1
@Nevea
в svg файле должен быть указан
<view id="icon-figure" viewBox="0 0 30 30" />
вот пример вставок
https://dbushell.com/demos/svg/2015-01-29/svg-spri...
Обратите внимание на сам внешний файл sprite.svg
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
FoodSoul Калининград
от 180 000 до 250 000 ₽