Spec-Zone.ru › CSS

`::view-transition-old()` CSS-псевдоэлемент

Базовая поддержка Недавно стал доступен

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

::view-transition-old() — это CSS псевдоэлемент, представляющий «старое» состояние представления при переходе между представлениями — статический снимок старого представления до перехода.

Во время перехода между представлениями ::view-transition-old() включается в связанное дерево псевдоэлементов, как описано в разделе Дерево псевдоэлементов перехода между представлениями, если есть «старое» состояние представления, которое нужно представить. Он всегда является дочерним элементом ::view-transition-image-pair() и никогда не имеет дочерних элементов.

Это замещаемый элемент, поэтому его можно изменять с помощью таких свойств, как object-fit и object-position. Его естественные размеры равны размеру содержимого.

В таблицу стилей UA включены следующие стили по умолчанию:

:root::view-transition-old(*),
:root::view-transition-new(*) {
  position: absolute;
  inset-block-start: 0;
  inline-size: 100%;
  block-size: auto;

  animation-duration: inherit;
  animation-fill-mode: inherit;
  animation-delay: inherit;
}

/* Keyframes for blending when there are 2 images */
@keyframes -ua-mix-blend-mode-plus-lighter {
  from {
    mix-blend-mode: plus-lighter;
  }
  to {
    mix-blend-mode: plus-lighter;
  }
}

@keyframes -ua-view-transition-fade-out {
  to {
    opacity: 0;
  }
}

Примечание: Также настроены дополнительные стили перехода между представлениями для анимации ::view-transition-old(). Они создаются динамически во время перехода между представлениями; подробности см. в разделах спецификации Настройка псевдоэлементов перехода и Обновление стилей псевдоэлементов.

Синтаксис

::view-transition-old([ <pt-name-selector> <pt-class-selector>? ] | <pt-class-selector>) {
  /* ... */
}

Параметры

*
Универсальный селектор (*) выбирает все группы переходов между представлениями на странице.
root
Заставляет псевдоэлемент соответствовать группе снимков перехода между представлениями по умолчанию root, созданной пользовательским агентом для перехода между представлениями всей страницы. Эта группа включает все элементы, не назначенные собственной группе снимков перехода между представлениями с помощью свойства view-transition-name.
<pt-name-selector>
<custom-ident>, заданный в качестве значения свойства view-transition-name.
<pt-class-selector>
<custom-ident>, заданный в качестве значения свойства view-transition-class и предварённый точкой (.).

Примеры

figcaption {
  view-transition-name: figure-caption;
}

@keyframes grow-x {
  from {
    transform: scaleX(0);
  }
  to {
    transform: scaleX(1);
  }
}

@keyframes shrink-x {
  from {
    transform: scaleX(1);
  }
  to {
    transform: scaleX(0);
  }
}

::view-transition-old(figure-caption),
::view-transition-new(figure-caption) {
  height: auto;
  right: 0;
  left: auto;
  transform-origin: right center;
}

::view-transition-old(figure-caption) {
  animation: 0.25s linear both shrink-x;
}

::view-transition-new(figure-caption) {
  animation: 0.25s 0.25s linear both grow-x;
}

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

Спецификация
Модуль переходов между представлениями CSS, уровень 1
# ::view-transition-old

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

Компьютеры Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
view-transition-old
109
109
144
95
18
109
144
74
18
21.0
109
18

См. также

  • API переходов между представлениями
  • Плавные переходы с помощью API переходов между представлениями

© 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/Selectors/::view-transition-old

Spec-Zone.ru

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