Использование CSS переменных для стилизации клонов, созданных командой <use>
#html #css #css3 #svg
При вызове svg элементов командой
Ответы
Ответ 1
Решение с помощью CSS переменных
CSS переменные наследуют свойство fill. Поэтому можно внутри тега назначить
(объявить) переменную, значение которой, можно в последствии многократно менять для
каждого экземпляра svg элемента.
Каждому path, circle, ellips, и т.д можно присвоить для fill свою переменную fill="var(--color-face)"
и в дальнейшем менять её значение во внешней таблице стилей:
.predator-colors {
--color-face: #7986CB;
--color-nose: #9FA8DA;
}
Этот прием создаёт мощные и гибкие возможности для стилизации многоцветных иконок.
Например для одного состояния иконки мы можем назначить одну цветовую схему, а при
:hover назначить к той же иконке другой цветовой набор.
.predator-colors {
--color-face: #7986CB;
--color-nose: #9FA8DA;
}
.predator-colors:hover {
--color-face: #3F8B4D;
--color-nose: #58C46C;
)
Ниже пример, по своему вкусу легко создается и меняется цветовая схема изображения:
.predator-colors {
--color-face: #7986CB;
--color-nose: #9FA8DA;
--color-hair-right:#3949AB;
--color-hair-right2:#3949AB;
--color-hair-left:#3949AB;
--color-hair-left2:#3949AB;
--color-eye-right:#1A237E;
--color-pupil-right:#77006B;
--color-eye-left:#1A237E;
--color-pupil-left:#77006B;
--color-ellipse1:#9FA8DA;
--color-ellipse2:#7986CB;
--color-ellipse3:#C5CAE9;
}
.predator-colors:hover {
--color-face: #3F8B4D;
--color-nose: #58C46C;
--color-hair-right:gold;
--color-hair-right2:#FFBB00;
--color-hair-left:gold;
--color-hair-left2:#FFBB00;
--color-eye-right:#77006B;
--color-pupil-right:#FF4151;
--color-eye-left:#77006B;
--color-pupil-left:#FF4151;
--color-ellipse1:#FFDD00;
--color-ellipse2:#C1A700;
--color-ellipse3:#FFEE7D;
}
Ниже комбинированный пример со стилизацией трех экземпляров одного изображения.
Для каждого экземпляра созданного своя цветовая схема,
которая привязывается к классу вложенного svg.
Комментариев нет:
Отправить комментарий