Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

View Transition API

Die View Transition API bietet einen Mechanismus zur einfachen Erstellung von animierten Übergängen zwischen verschiedenen Ansichten von Websites und Elementen. Dies umfasst die Animation zwischen DOM-Zuständen in einer Single-Page-App (SPA) und die Animation der Navigation zwischen Dokumenten in einer Multi-Page-App (MPA).

Konzepte und Nutzung

View-Übergänge sind eine beliebte Designwahl, um die kognitive Belastung der Benutzer zu verringern, ihnen zu helfen, im Kontext zu bleiben, und die wahrgenommene Ladezeit zu reduzieren, während sie zwischen Zuständen oder Ansichten einer Anwendung wechseln.

Allerdings war das Erstellen von View-Übergängen im Web historisch schwierig:

  • Übergänge zwischen Zuständen in Single-Page-Apps (SPAs) erfordern in der Regel das Schreiben von erheblichem CSS und JavaScript, um:
    • Das Laden und Positionieren der alten und neuen Inhalte zu behandeln.
    • Die alten und neuen Zustände zu animieren, um den Übergang zu schaffen.
    • Zu verhindern, dass versehentliche Benutzerinteraktionen mit den alten Inhalten Probleme verursachen.
    • Die alten Inhalte zu entfernen, sobald der Übergang abgeschlossen ist. Barrierefreiheitsprobleme wie der Verlust der Leseposition, Verwirrung bei der Fokussierung und seltsames Verhalten bei Live-Bereichsansagen können auch auftreten, wenn sowohl die neuen als auch die alten Inhalte gleichzeitig im DOM vorhanden sind.
  • Übergänge über Dokumente hinweg (d.h. bei Navigationen zwischen verschiedenen Seiten in MPAs) waren historisch gesehen unmöglich.

Die View Transition API bietet eine einfache Möglichkeit, die erforderlichen Ansichtsänderungen und Übergangsanimationen für beide Anwendungsfälle zu handhaben.

Das Erstellen eines Ansichtsübergangs, der die Standardübergangsanimationen des Browsers verwendet, ist sehr schnell durchzuführen, und es gibt Funktionen, die es Ihnen ermöglichen, sowohl die Übergangsanimation als auch den Ansichtsübergang selbst anzupassen und zu manipulieren (zum Beispiel Umstände zu spezifizieren, unter denen die Animation übersprungen wird) für sowohl SPA- als auch MPA-Ansichtsübergänge.

Weitere Informationen finden Sie unter:

Schnittstellen

CSSViewTransitionRule

Repräsentiert eine @view-transition At-Regel.

ViewTransition

Repräsentiert einen Ansichtsübergang und bietet Funktionalität, um auf das Erreichen verschiedener Zustände des Übergangs zu reagieren (z. B. bereit, die Animation auszuführen oder die Animation abzuschließen) oder den Übergang ganz zu überspringen.

ViewTransitionTypeSet

Ein mengenähnliches Objekt, das die Typen eines aktiven Ansichtsübergangs darstellt, wodurch die Typen während eines Übergangs dynamisch abgefragt oder modifiziert werden können.

Erweiterungen zu anderen Schnittstellen

Document.startViewTransition()

Startet einen neuen gleichseitigen (SPA) Ansichtsübergang und gibt ein ViewTransition Objekt zurück, um ihn darzustellen.

PageRevealEvent

Das Ereignisobjekt für das pagereveal Ereignis. Während einer cross-Dokument-Navigation, ermöglicht es Ihnen, den zugehörigen Ansichtsübergang (und gewährt Zugriff auf das relevante ViewTransition Objekt) von dem Dokument aus zu manipulieren, zu dem navigiert wird, wenn ein Ansichtsübergang durch die Navigation ausgelöst wurde.

PageSwapEvent

Das Ereignisobjekt für das pageswap Ereignis. Während einer cross-Dokument-Navigation, ermöglicht es Ihnen, den zugehörigen Ansichtsübergang (und gewährt Zugriff auf das relevante ViewTransition Objekt) von dem Dokument aus zu manipulieren, von dem aus navigiert wird, wenn ein Ansichtsübergang durch die Navigation ausgelöst wurde. Es bietet auch Zugriff auf Informationen über den Navigationstyp und die aktuellen sowie die Ziel-Dokumenthistory-Einträge.

Das Window pagereveal Ereignis

Wird ausgelöst, wenn ein Dokument zum ersten Mal gerendert wird, entweder beim Laden eines frischen Dokuments aus dem Netzwerk oder durch Aktivierung eines Dokuments (entweder aus dem Back/Forward Cache (bfcache) oder prerender).

Das Window pageswap Ereignis

Wird ausgelöst, wenn ein Dokument aufgrund einer Navigation entladen werden soll.

HTML-Erweiterungen

Identifiziert den wichtigsten Inhalt im zugehörigen Dokument für die erste Ansicht der Seite durch den Benutzer. Das Rendern des Dokuments wird blockiert, bis der wichtige Inhalt analysiert wurde, um einen konsistenten ersten Anstrich — und daher einen Ansichtsübergang — in allen unterstützenden Browsern zu gewährleisten.

CSS-Erweiterungen

At-Regeln

@view-transition

Im Falle einer cross-Dokument-Navigation wird @view-transition verwendet, um das aktuelle und das Zieldokument für einen Ansichtsübergang zu aktivieren.

Eigenschaften

view-transition-name

Gibt das Ansichtsübergangs-Snapshot an, an dem die ausgewählten Elemente teilnehmen werden, was es einem Element ermöglicht, während eines Ansichtsübergangs separat vom Rest der Seite animiert zu werden.

view-transition-class

Bietet eine zusätzliche Methode zum Styling ausgewählter Elemente, die einen view-transition-name haben.

view-transition-scope

Ermöglicht die Auffindbarkeit von Elementen mit festgelegten view-transition-name-Werten (und damit die Erstellung von Ansichtsübergangs-Snapshots), um auf ein bestimmtes Element-Teilbaum isoliert zu werden.

Pseudoklassen

:active-view-transition

Entspricht den Elementen, wenn ein Ansichtsübergang in Bearbeitung ist.

:active-view-transition-type()

Entspricht den Elementen, wenn ein Ansichtsübergang mit einem oder mehreren spezifischen Typen in Bearbeitung ist.

Pseudoelemente

::view-transition

Die Wurzel des Ansichtsübergangs-Overlays, das alle Ansichtsübergänge enthält und über allen anderen Seiteninhalten liegt.

::view-transition-group()

Die Wurzel eines einzelnen Ansichtsübergangs.

::view-transition-image-pair()

Der Container für alte und neue Ansichten eines Ansichtsübergangs — vor und nach dem Übergang.

::view-transition-old()

Ein statisches Snapshot der alten Ansicht, vor dem Übergang.

::view-transition-new()

Eine Live-Darstellung der neuen Ansicht, nach dem Übergang.

Beispiele

Spezifikationen

Spezifikation
CSS View Transitions Module Level 2
CSS View Transitions Module Level 1

Browser-Kompatibilität

api.Document.startViewTransition

css.at-rules.view-transition

Siehe auch