CSS-свойствоВ стандарте

CSS color-scheme — синтаксис и примеры

CSS-свойство color-scheme: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Суть темы

Назначение «color-scheme» раскрывается через задачу «определять визуальный слой элемента без изменения смысловой структуры документа». Свойство color-scheme относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Для воспроизводимой проверки «color-scheme» используйте пример в компоненте с русским и английским содержимым и наблюдайте победившую декларацию во вкладке Computed.

Практическое правило для color-scheme

Перед применением «color-scheme» сформулируйте ожидаемое поведение, затем проверьте вычисленное значение color-scheme, наследование и контекст родителя. Для «color-scheme» такое сравнение показывает реальную причину изменения.

Синтаксис color-scheme

Синтаксис «color-scheme» показан на минимальном фрагменте без внешнего фреймворка. Сначала запустите исходный вариант, затем меняйте отмеченную часть.

css
.demo {
  color-scheme: #2563eb;
}
Открыть в Playground

Как работает color-scheme

Чтобы объяснить работу «color-scheme», проследите путь от структуры и входного значения до отображения или поведения. Свойство color-scheme относится к области «цвет и отрисовка» и применяется на этапе отрисовки после расчёта геометрии и может создавать дополнительные слои. Контрольная точка для «color-scheme» — порядок фокуса в дереве доступности.

Проверка в проекте

  • Проверьте вычисленное значение color-scheme, наследование и контекст родителя; результат относится непосредственно к «color-scheme».
  • Проверить длинный текст, пустое значение и отсутствие необязательного ресурса при разборе «color-scheme».
  • Проверьте «color-scheme» в компоненте с русским и английским содержимым через победившую декларацию во вкладке Computed и запишите наблюдаемое изменение.
Выбор конструкции

Критерий выбора «color-scheme» — предсказуемая работа в заявленном контексте. Для «color-scheme» подтвердите её через победившую декларацию во вкладке Computed и соблюдите ограничение: используйте нативное действие вместо имитации клика.

Практика с color-scheme

Перенесите «color-scheme» на небольшом макете и испытайте его в компоненте с русским и английским содержимым. Сначала воспроизведите правильный результат, затем намеренно добавьте риск для «color-scheme»: изолированная декларация color-scheme без связанных ограничений может дать другой результат в реальном компоненте.

цвет и отрисовкаcolor-scheme

Сценарий: в компоненте с русским и английским содержимым.

Ошибки при работе с color-scheme

01

Каскад

Изолированная декларация color-scheme без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «color-scheme».

02

Поддержка

Использование !important вместо разбора каскада при использовании «color-scheme».

03

Контекст

Проверка только мышью и только на широком экране; для «color-scheme» проверьте это отдельно.

Поддержка color-scheme

Для «color-scheme» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «color-scheme»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 81Edgeс версии 81Firefoxс версии 96Safariс версии 13

Спецификация: источник 1.

Вопросы о color-scheme

Как понять, что «color-scheme» выбрано правильно?

«color-scheme» выбрано правильно, когда оно решает задачу «определять визуальный слой элемента без изменения смысловой структуры документа», сохраняет результат в компоненте с русским и английским содержимым и проходит предметную проверку: проверьте вычисленное значение color-scheme, наследование и контекст родителя.

Нужен ли запасной вариант для «color-scheme»?

Запасной вариант для «color-scheme» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «color-scheme» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.