CSS prefers-color-scheme это медиа-запрос, который определяет выбранную в предпочтениях пользователя настройку темы операционной системы.
@media (prefers-color-scheme: dark) {
.element {
background: black;
color: white;
}
}
У медиа-запроса prefers-color-circuit есть несколько значений, которые можно указать: светлое light и темное dark. Они позволяют настроить тему страницы с помощью CSS в зависимости от предпочтений пользователя.
light: указывает, что пользователь уведомил систему о том, что он предпочитает страницу со светлой темой (темный текст на светлом фоне).
dark: означает, что пользователь уведомил систему о том, что он предпочитает страницу с темной темой (светлый текст на темном фоне).
/* Light mode */
@media (prefers-color-scheme: light) {
.element {
background: white;
color: black;
}
}
/* Dark mode */
@media (prefers-color-scheme: dark) {
.element {
background: black;
color: white;
}
}
На случай, когда у пользователя нет предпочтений, следует использовать вариант с prefers-color-scheme: no-preference, чтобы добавить на страницу тему «по умолчанию».
Поддержка браузерами — с этим — нормально, все современные, кроме совсем маргинальных.


