::view-transition-old()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Das ::view-transition-old()
CSS Pseudoelement repräsentiert den "alten" Ansichtsstatus eines Übergangs — eine statische Momentaufnahme der alten Ansicht vor dem Übergang.
Während eines Ansichtsübergangs wird ::view-transition-old()
in den zugehörigen Pseudoelement-Baum aufgenommen, wie unter Der Pseudoelement-Baum des Ansichtsübergangs erläutert, vorausgesetzt es gibt einen "alten" Ansichtsstatus zu repräsentieren. Es ist immer nur ein Kind von ::view-transition-image-pair()
und hat nie eigene Kinder.
Es ist ein ersetztes Element und kann daher mit Eigenschaften wie object-fit
und object-position
manipuliert werden. Es hat natürliche Abmessungen, die der Größe des Inhalts entsprechen.
Das folgende Standard-Styling ist im UA-Stylesheet enthalten:
: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;
}
}
Hinweis:
Zusätzlich werden während des Ansichtsübergangs auch Stile für ::view-transition-old()
eingerichtet, um Animationen zu unterstützen. Diese werden dynamisch während des Ansichtsübergangs generiert; lesen Sie die Spezifikationsabschnitte Übergangspseudoelemente einrichten und Pseudoelement-Stile aktualisieren für weitere Details.
Syntax
::view-transition-old([ <pt-name-selector> <pt-class-selector>? ] | <pt-class-selector>) {
/* ... */
}
Parameter
*
-
Der universelle Selektor (
*
) wählt alle Ansichtsübergangsgruppen auf einer Seite aus. root
-
Führt dazu, dass das Pseudoelement die Standard-Ansichtsübergangs-Snapshot-Gruppe
root
des Benutzeragents als Übereinstimmung enthält, die den Ansichtsübergang für die gesamte Seite enthält. Diese Gruppe schließt jedes Element ein, das nicht über dieview-transition-name
-Eigenschaft einer eigenen spezifischen Ansichtsübergangs-Snapshot-Gruppe zugewiesen wurde. <pt-name-selector>
-
Die
<custom-ident>
, die als Wert derview-transition-name
-Eigenschaft gesetzt ist. <pt-class-selector>
-
Die
<custom-ident>
, die als Wert derview-transition-class
-Eigenschaft gesetzt ist, vorangestellt durch einen Punkt (.
).
Beispiele
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;
}
Spezifikationen
Specification |
---|
CSS View Transitions Module Level 1 # ::view-transition-old |