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

CSS custom-property — синтаксис и примеры

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

Когда применять

В материале о «custom-property» основное внимание уделено области «визуальное поведение элемента». Свойство custom-property относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте. Проверяйте поведение «custom-property» в интерфейсе, которым управляют только клавиатурой, причём сравнивайте базовый и улучшенный вариант рядом.

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

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

Синтаксис custom-property

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

css
.demo {
  custom-property: inherit;
}
Открыть в Playground

Как работает custom-property

Механика «custom-property» начинается с допустимого контекста и заканчивается наблюдаемым результатом. Свойство custom-property относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте; для «custom-property» отдельно проверьте отображение в режиме печати.

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

  • Проверьте вычисленное значение custom-property, наследование и контекст родителя; результат относится непосредственно к «custom-property».
  • Увеличить текст до 200% и убедиться, что действия и подписи не обрезаются при разборе «custom-property».
  • Проверьте «custom-property» в интерфейсе, которым управляют только клавиатурой через отображение в режиме печати и запишите наблюдаемое изменение.
Выбор конструкции

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

Практика с custom-property

Создайте два варианта «custom-property» в тестовом шаблоне: корректный и с одной типичной ошибкой. Сравните варианты «custom-property» через отображение в режиме печати и объясните различие.

визуальное поведение элементаcustom-property

Сценарий: в интерфейсе, которым управляют только клавиатурой.

Ошибки при работе с custom-property

01

Доступность

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

02

Каскад

Отсутствие запасного поведения при неподдерживаемой возможности при использовании «custom-property».

03

Поддержка

Зависимость результата от placeholder вместо постоянной подписи; для «custom-property» проверьте это отдельно.

Поддержка custom-property

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

Chromeс версии 49Edgeс версии 15Firefoxс версии 31Safariс версии 9.1

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

Вопросы о custom-property

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

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

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

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

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

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