CSS-справочникВ стандарте

CSS @property — как работает

CSS @property: принцип работы, корректный синтаксис, практический сценарий, ограничения, ошибки и актуальная совместимость.

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

«@property» рассматривается не как изолированный синтаксис, а как часть области «CSS @-правила». Правило @property управляет частью таблицы стилей на уровне, отличном от обычной декларации. Практический контекст для «@property» — в печатной версии длинного справочного материала; во время проверки не добавляйте новую обёртку до объяснения её роли.

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

Проверяя «@property», соблюдайте правило: соблюдайте допустимое место @-правила и порядок относительно других правил. Для «@property» изменяйте одно условие за запуск и фиксируйте фактический результат.

Синтаксис @property

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

css
@property --accent-hue {
  syntax: "<number>";
  inherits: true;
  initial-value: 220;
}
Открыть в Playground

Как работает @property

Механика «@property» начинается с допустимого контекста и заканчивается наблюдаемым результатом. Интерпретируется на уровне таблицы стилей, а не как обычное свойство элемента; для «@property» отдельно проверьте изменение при prefers-reduced-motion.

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

  • Соблюдайте допустимое место @-правила и порядок относительно других правил; результат относится непосредственно к «@property».
  • Проверить компонент внутри container query, не меняя размер окна при разборе «@property».
  • Проверьте «@property» в печатной версии длинного справочного материала через изменение при prefers-reduced-motion и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «@property», когда требуется управлять условием, ресурсом или областью применения блока CSS; подтвердите выбор предметной проверкой: соблюдайте допустимое место @-правила и порядок относительно других правил. Для «@property» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с @property

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

CSS @-правила@property

Сценарий: в печатной версии длинного справочного материала.

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

01

Поддержка

Неверное положение или синтаксис @property может сделать весь блок недействительным — это предметный риск для «@property».

02

Контекст

Визуальное изменение порядка, не совпадающее с DOM и фокусом при использовании «@property».

03

Устойчивость

Использование !important вместо разбора каскада; для «@property» проверьте это отдельно.

Поддержка @property

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

Chromeс версии 85Edgeс версии 85Firefoxс версии 128Safariс версии 16.4

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

Вопросы о @property

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

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

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

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

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

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