Spec-Zone.ru › CSS

@view-transition

Ограниченная доступность

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

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальная версия: Это экспериментальная технология
Перед использованием в производстве внимательно проверьте таблицу совместимости браузеров.

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

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

Синтаксис

@view-transition {
  navigation: auto;
}

Дескрипторы

navigation

Указывает, какое влияние это правило окажет на поведение перехода отображения документа. Возможные значения:

  • auto: Документ будет участвовать в переходе отображения при навигации, если навигация происходит на одном источнике, без перенаправлений с разных источников, и ее navigationType является traverse, push или replace. В случае push или replace, навигация должна быть инициирована пользователем, взаимодействующим с содержимым страницы, а не функцией пользовательского интерфейса браузера.

  • none: Документ не будет участвовать в переходе отображения.

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

@view-transition = 
@view-transition { <declaration-list> }

Примеры

Переход отображения страницы

Следующие примеры кода демонстрируют ключевые концепции, используемые в демо-приложении перехода страницы. Демо-приложение использует переходы отображения между документами; полусекундный переход, который происходит при навигации между двумя страницами сайта. Полный демонстрационный пример можно посмотреть в демо-приложении перехода отображения многостраничного приложения.

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

@view-transition {
  navigation: auto;
}

В дополнение к правилу @view-transition мы определяем две @keyframe анимации и используем сокращенное свойство 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;
}

Посмотрите это демо-приложение перехода многостраничного приложения в действии.

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

Спецификация
CSS View Transitions Module Level 2
# view-transition-rule

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

Рабочий стол Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
@view-transition 126 126 Нет 112 превью 126 Нет 83 Нет Нет 126

См. также

  • ::view-transition
  • ::view-transition-new()
  • ::view-transition-old()
  • ::view-transition-group()
  • ::view-transition-image-pair()
  • API переходов отображения
  • CSS правила
  • Функции CSS правил

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

Spec-Zone.ru

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