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 auf einer Website. Dazu gehört das Animieren zwischen DOM-Zuständen in einer Single-Page-App (SPA) und das Animieren der Navigation zwischen Dokumenten in einer Multi-Page-App (MPA).

Konzepte und Nutzung

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

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

  • Übergänge zwischen Zuständen in Single-Page-Apps (SPAs) erfordern normalerweise umfangreiches CSS und JavaScript, um:
    • Das Laden und Positionieren der alten und neuen Inhalte zu bearbeiten.
    • Die alten und neuen Zustände zu animieren, um den Übergang zu erstellen.
    • Zu verhindern, dass unbeabsichtigte Benutzerinteraktionen mit den alten Inhalten Probleme verursachen.
    • Die alten Inhalte zu entfernen, sobald der Übergang abgeschlossen ist. Barrierefreiheitsprobleme wie der Verlust der Leseposition, Verwirrung der Fokus-Reihenfolge und ungewöhnliches Verhalten von Live-Bereichen können auch resultieren, wenn sowohl der neue als auch der alte Inhalt gleichzeitig im DOM vorhanden sind.
  • Cross-Dokument-Übergänge (d.h. über Navigationsvorgänge zwischen verschiedenen Seiten in MPAs) waren bisher unmöglich.

Die View Transition API bietet einen einfachen Weg, die erforderlichen View-Änderungen und Übergangsanimationen für beide genannten Anwendungsfälle zu behandeln.

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

Siehe Using the View Transition API für weitere Informationen.

Schnittstellen

ViewTransition

Repräsentiert einen View-Übergang und bietet Funktionalität, um auf den Übergang zu reagieren, wenn verschiedene Zustände erreicht werden (z. B. bereit, um die Animation auszuführen, oder Animation abgeschlossen) oder den Übergang insgesamt zu überspringen.

Erweiterungen anderer Schnittstellen

Document.startViewTransition()

Startet einen neuen gleichseitigen (SPA) View-Übergang und gibt ein ViewTransition-Objekt zurück, um ihn zu repräsentieren.

PageRevealEvent

Das Ereignisobjekt für das pagereveal-Ereignis. Während einer Cross-Dokument-Navigation können Sie den zugehörigen View-Übergang manipulieren (indem Sie Zugriff auf das relevante ViewTransition-Objekt erhalten) von dem Dokument aus, zu dem navigiert wird, falls ein View-Übergang durch die Navigation ausgelöst wurde.

PageSwapEvent

Das Ereignisobjekt für das pageswap-Ereignis. Während einer Cross-Dokument-Navigation können Sie den zugehörigen View-Übergang manipulieren (indem Sie Zugriff auf das relevante ViewTransition-Objekt erhalten) von dem Dokument aus, von dem aus navigiert wird, falls ein View-Übergang durch die Navigation ausgelöst wurde. Es bietet auch Zugriff auf Informationen über den Navigationstyp sowie die Historieneinträge des aktuellen und Ziel-Dokuments.

Das Window pagereveal Ereignis

Wird ausgelöst, wenn ein Dokument erstmals gerendert wird, entweder beim Laden eines neuen Dokuments aus dem Netzwerk oder beim Aktivieren 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-Ergänzungen

Identifiziert die wichtigsten Inhalte im zugehörigen Dokument für die erste Ansicht der Seite durch den Benutzer. Das Rendern des Dokuments wird blockiert, bis die wesentlichen Inhalte geparst wurden, was einen konsistenten ersten Anstrich und damit einen View-Übergang über alle unterstützenden Browser hinweg gewährleistet.

CSS-Ergänzungen

>

At-Rules

@view-transition

Im Falle einer Cross-Dokument-Navigation wird @view-transition verwendet, um die aktuellen und Ziel-Dokumente einem View-Übergang zu unterziehen.

Eigenschaften

view-transition-name

Gibt das View-Übergangssnapshot an, an dem ausgewählte Elemente teilnehmen werden, was es einem Element ermöglicht, während eines View-Übergangs separat vom Rest der Seite animiert zu werden.

view-transition-class

Bietet eine zusätzliche Methode, um ausgewählte Elemente zu stylen, die einen view-transition-name haben.

Pseudo-Klassen

:active-view-transition

Passt Elemente an, wenn ein View-Übergang aktiv ist.

:active-view-transition-type()

Passt Elemente an, wenn ein View-Übergang eines bestimmten Typs aktiv ist.

Pseudo-Elemente

::view-transition

Die Wurzel der View-Übergangs-Überlagerung, die alle View-Übergänge enthält und über allen anderen Seiteninhalten liegt.

::view-transition-group()

Die Wurzel eines einzigen View-Übergangs.

::view-transition-image-pair()

Der Container für die alten und neuen Ansichten eines View-Ü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

Specification
CSS View Transitions Module Level 1>

Browser-Kompatibilität

>

api.Document.startViewTransition

css.at-rules.view-transition

Siehe auch