Spec-Zone.ru › CSS

`@view-transition` CSS-правило at-rule

Базовая поддержка Ограниченная доступность

Эта функция не входит в базовый набор, поскольку не работает в некоторых наиболее широко используемых браузерах.

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

Чтобы междокументный переход представления работал, текущий и целевой документы навигации должны иметь один источник.

Синтаксис

@view-transition {
  navigation: auto | none;
  types: none | <custom-ident>#;
}

Дескрипторы

navigation
Ключевое слово, указывающее, как это правило повлияет на поведение переходов представления документа. Возможные значения:
auto
Документ будет участвовать в переходе представления при навигации, если она выполняется с одного источника, без перенаправлений на другие источники, а значение navigationType равно traverse, push или replace. В случае push или replace навигация должна быть инициирована взаимодействием пользователя с содержимым страницы, а не функцией интерфейса браузера.
none
Документ не будет участвовать в переходе представления.
types
Задаёт типы перехода представления, которые нужно установить для активного перехода представления текущего и целевого документов. Возможные значения:
<custom-ident>+
Одно или несколько разделённых пробелами значений <custom-ident>, представляющих типы, которые нужно установить.
none
Типы не задаются.

Формальный синтаксис

Примеры

Переход между представлениями страниц

В следующих фрагментах кода показаны ключевые концепции, используемые в демонстрации перехода между страницами. В демонстрации используются междокументные переходы представления — переход длительностью полсекунды, который происходит при навигации между двумя страницами сайта. Полную демонстрацию см. в демонстрации многостраничного приложения с переходами представления.

Правило @view-transition указывается в CSS как текущего, так и целевого документа навигации, чтобы включить их в переход представления:

@view-transition {
  navigation: auto;
}

Помимо правила @view-transition, мы используем правило @keyframes, чтобы задать две покадровые анимации, а также сокращённое свойство animation, чтобы применить эти покадровые анимации к элементам исходящей (::view-transition-old()) и входящей (::view-transition-new()) страниц, которые мы хотим анимировать.

/* Create a custom animation */
@keyframes move-out {
  from {
    transform: translateY(0%);
  }

  to {
    transform: translateY(-100%);
  }
}

@keyframes move-in {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0%);
  }
}

/* Apply the custom animation to the old and new page states */
::view-transition-old(root) {
  animation: 0.4s ease-in both move-out;
}

::view-transition-new(root) {
  animation: 0.4s ease-in both move-in;
}

Посмотрите работающую демонстрацию многостраничного приложения с переходами.

Использование типов переходов представления

В нашем примере типов переходов для MPA (исходный код) показано, как использовать types с помощью @view-transition:

@view-transition {
  navigation: auto;
  types: slide;
}

Пошаговое описание приведённого примера см. в разделе Использование типов в междокументных переходах представления с помощью @view-transition.

Спецификации

Спецификация
Модуль переходов представления CSS, уровень 2
# view-transition-rule

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS
view-transition
126
126
Нет
112
18.2
126
Нет
83
18.2
28.0
126
18.2

См. также

  • ::view-transition
  • ::view-transition-new()
  • ::view-transition-old()
  • ::view-transition-group()
  • ::view-transition-image-pair()
  • API переходов представления
  • Использование типов переходов представления
  • Правила at-rule CSS
  • Функции правил at-rule CSS

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@view-transition

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API