@aspirin37

Как изменять цвет элементов иконок в SVG-спрайтах при наведении?

https://codepen.io/aspirin37/pen/VWVOQQ

Можно ли заменить конкретному элементу иконки цвет заливки при наведении, не затрагивая при этом все остальное? То есть как-либо повлиять на один конкретный path, который находится в спрайте

( в моем случае, изменить зеленый фон иконки, а белые части оставить как есть )
  • Вопрос задан
  • 1999 просмотров
Решения вопроса 2
chimir
@chimir
В SVG уберите fill и задайте его в css

https://jsfiddle.net/chimir/e1tj9mdy/
Ответ написан
alvvi
@alvvi
export default apathy;
Возможно, цвет заливки указан в аттрибуте style, а его перебить можно только стилями с !important.

В иделае заливки должны быть прописаны в специальных SVG-аттрибутах, в некоторых графических редакторах такую опцию можно выставить в настройках экспорта. Так же у SVGO есть плагин "convertStyleToAttrs", который позволяет конвертировать аттрибут style в SVG-аттрибуты, при наличии готовых иконок советую воспользваться именно им. SVG-аттрибуты полезны тем, что имеют меньший приоритет, чем CSS-селектор, поэтому их возможно легко переопределить в стилях.

Чтобы было чуток нагляднее:
https://jsfiddle.net/0so00j9z/3/
у обоих есть класс blue, но у первого style перебивает стили класса.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@tyzberd
если спрайт в html тогда так https://jsfiddle.net/tyzberd/7eopuudj/1/
если в файле, тогда не указывать fill
Ответ написан
Ваш ответ на вопрос

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

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