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

CSS @view-transition — как работает

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

Назначение и границы

Практический смысл «@view-transition» связан с тем, чтобы управлять условием, ресурсом или областью применения блока CSS. Правило @view-transition управляет частью таблицы стилей на уровне, отличном от обычной декларации. Контрольная проверка «@view-transition» проходит в интерфейсе, которым управляют только клавиатурой, а наблюдаемой точкой служит размер содержащего блока в Layout.

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

Для «@view-transition» сначала соблюдайте допустимое место @-правила и порядок относительно других правил. После этого сравните исходное и изменённое состояние «@view-transition» на одном и том же содержимом.

Синтаксис @view-transition

Пример «@view-transition» оставляет только контекст, необходимый для области «CSS @-правила». Измените одно значение и проследите результат в браузере.

css
@view-transition {
  navigation: auto;
}
Открыть в Playground

Как работает @view-transition

Браузер обрабатывает «@view-transition» в контексте области «CSS @-правила»: интерпретируется на уровне таблицы стилей, а не как обычное свойство элемента. Для «@view-transition» наблюдения через размер содержащего блока в Layout и перестроение при смене writing-mode отделяют исходное условие от результата.

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

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

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

Практика с @view-transition

Проверьте «@view-transition» на контрольной странице с длинным текстом, клавиатурным управлением и узким экраном. Отдельная проверка для «@view-transition»: соблюдайте допустимое место @-правила и порядок относительно других правил.

CSS @-правила@view-transition

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

Ошибки при работе с @view-transition

01

Контекст

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

02

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

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

03

Доступность

Дублирование интерактивной роли без нативного управления; для «@view-transition» проверьте это отдельно.

Поддержка @view-transition

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

Chromeс версии 109Edgeс версии 109Firefoxс версии 144Safariс версии 18

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

Вопросы о @view-transition

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

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

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

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

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

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