Здравствуйте. Есть кнопка, внутри которой текст и svg-картинка. SVG внешний, инлайново не хочу вставлять. Каша в jsx получится.
Нужно сделать так, что бы картинка, когда кнопка disabled - становилась белой. С инлайновым SVG проблем не возникло, по селектору к path добрался и сделал ему fill: #fff. А вот импортируя эту картинку - не знаю что делать.. <embed> не помог ( хотя я его может и не так использовал).
Рустам Байназаров, думал, что через embed можно получить содержимое svg и манипулировать им) Мне кажется, костыльный фильтр лучше, чем еще одна, белая, иконка)
Спасибо
RAX7, пробовал когда-то со спрайтами работать, но спрайт - как ни крути - 2 и более картинок. Да, весят они не на много больше одной картинки. Да, у всех сейчас 3g, lte интернет на телефонах и можно грузить сколько-угодно много контента, но это не мой подход)
пробовал когда-то со спрайтами работать, но спрайт - как ни крути - 2 и более картинок. Да, весят они не на много больше одной картинки. Да, у всех сейчас 3g, lte интернет на телефонах и можно грузить сколько-угодно много контента, но это не мой подход)
Конкретно в этом случае пользовать спрайты нет смысла, ибо иконка может быть либо цветная, либо белая)
KononovD, этот лоадер добавляет картинки тегом symbol в svg контейнере, далее происходин инъекция в html код и иконки используются тегом use с доступом по id. Но в исхдном коде вы этого не видите, вы просто делаете импорт и используете:
import twitterLogo from './logos/twitter.svg';
const Example = () => (
<svg viewBox={twitterLogo.viewBox}>
<use xlink:href={`#${twitterLogo.id}`} />
</svg>
);
Кроссбраузерно при таком использовании можно менять иконке два цвета: fill и color.
Само собой удобно вынести повторяющийся код в контейтер: