Кратко
СкопированоФункция light
позволяет переключаться между двумя цветами в зависимости от выбранной у пользователя тёмной или светлой темы.
Пример
Скопированоdiv { color: light-dark(black, white); background-color: light-dark(white, black);}
div { color: light-dark(black, white); background-color: light-dark(white, black); }
Если пользователь выбрал светлый режим, у элемента будет чёрный текст на белом фоне, если тёмный — белый текст на чёрном фоне.
Как понять
СкопированоФункция light
принимает два аргумента и возвращает один из них в зависимости от того, какую тему выбрал пользователь. Первое значение вернётся, если у пользователя установлена светлая тема, либо тема не выбрана, а второе, если установлена тёмная тема.
Как пишется
СкопированоЧтобы функция light
заработала, нужно прописать свойство color
со значением light dark
. Обычно это делают в псевдоклассе :root
. Если это свойство не прописать, то функция всегда будет возвращать только первое значение.
Внутри круглых скобок через запятую указываются два цвета. Цвет может быть задан в любом доступном формате. Обратите внимание: можно передать только два аргумента. При большем или меньшем количестве аргументов, а также при невалидных аргументах, свойство не применится.
Чтобы увидеть, как меняются цвета в этом демо, можно эмулировать переключение режима через консоль разработчика, например, в Chrome DevTools:
- Откройте консоль разработчика (F12).
- Во вкладке «Элементы» (Elements) откройте другую вкладку «Стили» (Styles).
- Нажмите кнопку «Включить или отключить распространённые эмуляции отрисовки» (Toggle common rendering emulations).
- Выберите нужный вам пункт —
light
илиdark
.
Как включить в настройках операционной системы
- Windows: Параметры → Персонализация → Цвета → Выбор цвета.
- MacOS: Системные настройки → Оформление → Выбор оформления.
- Linux: Настройки → Внешний вид → Темы. Для некоторых дистрибутивов может потребоваться установить дополнительное приложение, которое позволит настроить рабочее окружение.
Поддержка
СкопированоНа данный момент функция light
поддерживается в последних версиях браузеров. Если нужна поддержка старыми версиями, проверяйте её на Can I Use.