Динамичное изменение цвета иконок в темах Bootstrap

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Светлая, темная или ч/б тема для сайта в Bootstrap задается переменными:

[data-bs-theme="light"] {
--bs-body-color: #FFFFFF
--bs-body-bg: #212529;--bs-body-bg-rgb: var(--bs-body-bg);
}

Для введения своего базового цвета для меню, цвета иконок лого и подвала можно ввести свою переменную:

--base-color: #0dcaf0;

Таким образом, если вы используете в HTML коде страницы картинки в виде SVG-кода, то можно просто добавить правило CSS:
svg { fill: var(--base-color);}

Если же у вас часть картинки выполнена линиями, можно пометить её классом .stroke и дополнить CSS правилом:

svg.stroke { stroke: var(--base-color);}

Что делать, если у вас подключена библиотека иконок отдельным CSS-фалом и вы не хотите менять их цвета поштучно?
Например, имеется библиотека такого формата

a[href$=".pdf"]::after {
display: inline-block;content: "";
vertical-align: -.125rem;
background-image: url("...");
background-repeat: no-repeat;
background-size: 1.5rem 1.5rem;
margin-left: .5rem; width: 1.5rem; height: 1.5rem;
}

Добавляем в базовый CSS переменную типа --icon-saturate

:root {
...
--icon-saturate:1;
...
}

в описание класса иконки добавляем правило filter: saturate(var(--icon-saturate))

a[href$=".pdf"]::after {
display: inline-block;content: "";
vertical-align: -.125rem;
background-image: url("...");
background-repeat: no-repeat;
background-size: 1.5rem 1.5rem;
margin-left: .5rem; width: 1.5rem; height: 1.5rem;
filter: saturate(var(--icon-saturate));
}
А в тему добавляем добытое опытным путем через F12 смещение цвета, например:

[data-bs-theme="light"] {
...
--icon-saturate:175;
...
}

Источник: https://habr.com/ru/articles/891458/


Интересные статьи

Интересные статьи

И рассказываем, чтобы сэкономить Ваше времяЧтобы перелезть через этот высоченный забор понимания, как же все-таки работает сейчас КЭДО в Битрикс24 мы...• Просмотрели 384 минуты видеоуроков и рол...
Как-то в конторе появилась мысль, что надо бы продумать как нам распараллелить работу над одни микриком, так чтобы команды не пересекались друг с другом. Есть некоторые API над которыми работают неско...
Вам приходилось сталкиваться с ситуацией, когда сайт или портал Битрикс24 недоступен, потому что на диске неожиданно закончилось место? Да, последний бэкап съел все место на диске в самый неподходящий...
Приступая к животрепещущей теме резервного копирования на «Битрикс», прежде всего хотелось бы поблагодарить разработчиков, реализовавших автоматическое резервное копирование в облачное хранилище в вер...
В этом посте я расскажу об истории текстурирования в трёхмерных видеоиграх. С момента первого появления 3D реального времени на домашних консолях мы прошли долгий путь, но и сегодня при создании ...