Свойство CSS `color-scheme`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна в браузерах с февраля 2022 года.
Свойство color-scheme CSS позволяет элементу указать, в каких цветовых схемах его можно комфортно отображать. Пользовательские агенты изменяют следующие аспекты интерфейса браузера в соответствии с используемой цветовой схемой:
- Цвет поверхности холста.
- Цвета полос прокрутки и других элементов взаимодействия по умолчанию.
- Цвета элементов управления формами по умолчанию.
- Цвета других элементов интерфейса, предоставляемых браузером, например подчёркиваний проверки орфографии.
Авторам компонентов для поддержки цветовых схем остальных элементов необходимо использовать медиафункцию prefers-color-scheme.
Обычно операционные системы предлагают цветовые схемы «светлая» и «тёмная», или «дневной режим» и «ночной режим». Когда пользователь выбирает одну из этих цветовых схем, операционная система изменяет пользовательский интерфейс. Это касается элементов управления формами, полос прокрутки и используемых значений системных цветов CSS.
Попробуйте
color-scheme: normal;
color-scheme: dark;
color-scheme: light;
<section class="default-example container" id="default-example"> <textarea id="example-element">Text Area</textarea> </section>
#example-element {
width: 80%;
height: 50%;
}
Синтаксис
color-scheme: normal; color-scheme: light; color-scheme: dark; color-scheme: light dark; color-scheme: only light; /* Global values */ color-scheme: inherit; color-scheme: initial; color-scheme: revert; color-scheme: revert-layer; color-scheme: unset;
Значения
Это свойство задаётся одним из следующих ключевых слов:
-
normal - Указывает, что элемент можно отобразить с использованием настроек цветовой схемы страницы. Если для страницы не задана цветовая схема, элемент отображается с использованием цветов страницы по умолчанию.
-
light - Указывает, что элемент можно отобразить с использованием светлой цветовой схемы операционной системы.
-
dark - Указывает, что элемент можно отобразить с использованием тёмной цветовой схемы операционной системы.
-
only -
Запрещает пользовательскому агенту переопределять цветовую схему элемента.
Можно использовать, чтобы отключить переопределение цветов, вызванное функцией Chrome Auto Dark Theme, применив
color-scheme: only light;к определённому элементу или:root.
Формальное определение
| Исходное значение | normal |
|---|---|
| Применяется к | всем элементам и тексту |
| Наследуется | да |
| Вычисленное значение | как задано |
| Тип анимации | дискретный |
Формальный синтаксис
color-scheme =
normal |
[ light | dark | <custom-ident> ]+ &&
only?
Примеры
Объявление предпочтений цветовой схемы
Чтобы включить всю страницу в соответствии с предпочтениями пользователя относительно цветовой схемы, объявите color-scheme для элемента :root.
:root {
color-scheme: light dark;
}
Чтобы включить отдельные элементы в соответствии с предпочтениями пользователя относительно цветовой схемы, объявите color-scheme для этих элементов.
header {
color-scheme: only light;
}
main {
color-scheme: light dark;
}
footer {
color-scheme: only dark;
}
Вместе с приведённым выше CSS добавьте HTML-тег <meta name="color-scheme"> <meta> в раздел <head> перед любой информацией о стилях CSS, чтобы сообщить пользовательским агентам о предпочтительной цветовой схеме и предотвратить нежелательное мигание экрана при загрузке страницы.
Стилизация с учётом цветовых схем
Чтобы задавать стили элементов с учётом предпочтений цветовой схемы, используйте медизапрос prefers-color-scheme. В приведённом ниже примере вся страница включена для светлой и тёмной цветовых схем операционной системы с помощью свойства color-scheme, а затем с помощью prefers-color-scheme задаются нужные цвета текста и фона отдельных элементов для этих цветовых схем.
:root {
color-scheme: light dark;
}
@media (prefers-color-scheme: light) {
.element {
color: black;
background-color: white;
}
}
@media (prefers-color-scheme: dark) {
.element {
color: white;
background-color: black;
}
}
Также можно использовать light-dark() <color> функцию, чтобы задать цвета текста и фона для разных цветовых схем с помощью более компактной структуры кода:
:root {
color-scheme: light dark;
}
.element {
color: light-dark(black, white);
background-color: light-dark(white, black);
}
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome для Android | Firefox для Android | Opera для Android | Safari на iOS | Samsung Internet | WebView для Android | WebView на iOS | |
color-scheme |
81 |
81 |
96 |
68 |
13 |
81 |
96 |
58 |
13 |
13.0 |
81 |
13 |
dark |
81 |
81 |
96 |
68 |
13 |
81 |
96 |
58 |
13 |
13.0 |
81 |
13 |
light |
81 |
81 |
96 |
68 |
13 |
81 |
96 |
58 |
13 |
13.0 |
81 |
13 |
normal |
81 |
81 |
96 |
68 |
13 |
81 |
96 |
58 |
13 |
13.0 |
81 |
13 |
only |
98
81–85
|
98
81–85
|
96 |
84
68–71
|
13 |
98
81–85
|
96 |
68
58–60
|
13 |
18.0
13.0–14.0
|
98
81–85
|
13 |
См. также
-
prefers-color-scheme— медизапрос для определения предпочтений пользователя в отношении цветовых схем. -
light-dark()— цветовая функция для задания цветов как для светлой, так и для тёмной цветовой схемы. - Другие свойства, связанные с цветом:
color,accent-color,background-color,border-color,outline-color,text-decoration-color,text-emphasis-color,text-shadow,caret-colorиcolumn-rule-color background-imageprint-color-adjust- Использование относительных цветов
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/color-scheme