View Transitions API: Beispiele

View Transitions API: Live-Beispiele für SPA und Multi-Page | We.Inc

Funktionierende Beispiele für die View Transitions API: startViewTransition in einer Liste, die du mischen kannst, benannte Elemente, die sich verwandeln, @view-transition zwischen Seiten, Typen, React und Browser-Support.

View Transitions API: Beispiele

Die View Transitions API animiert den Wechsel zwischen zwei Zuständen einer Seite. In einer Single-Page-App packst du das DOM-Update in document.startViewTransition(() => update()). Zwischen Seiten derselben Origin fügst du auf beiden Seiten @view-transition { navigation: auto; } hinzu. Gib einem Element einen eindeutigen view-transition-name, und der Browser verwandelt es von seiner alten Position in seine neue.

Zwei Arten von View Transitions

Die meisten Erklärungen zu View Transitions beschreiben den Baum der Pseudo-Elemente und hören dann auf. Diese Seite beginnt mit einer funktionierenden Demo in deinem Browser: Mische ein Raster, öffne eine Karte in eine Detailansicht und sieh zu, wie sich benannte Elemente bewegen. Danach bekommst du den Code für jedes Muster, das Setup zwischen Seiten und die Fallbacks für Browser ohne Support.

Häufige Fragen

Was macht document.startViewTransition?

Es erstellt einen Snapshot der aktuellen Seite, führt deinen Update-Callback aus und animiert dann vom alten Snapshot zum neuen Live-Zustand. Es gibt ein ViewTransition-Objekt mit den Promises ready, finished und updateCallbackDone sowie einer Methode skipTransition() zurück.

Wie füge ich View Transitions zwischen Seiten hinzu?

Setze @view-transition { navigation: auto; } in das CSS sowohl der Seite, die du verlässt, als auch der Seite, auf der du ankommst. Die Seiten müssen dieselbe Origin haben, und standardmäßig bekommst du eine Überblendung. Gib passenden Elementen auf beiden Seiten denselben view-transition-name, damit sie sich verwandeln.

Funktionieren View Transitions in Firefox?

Transitions im selben Dokument funktionieren ab Firefox 144. Transitions zwischen Dokumenten wurden von Firefox zum Zeitpunkt des Schreibens nicht unterstützt, in diesen Browsern findet die Navigation also einfach ohne Animation statt.

Wie nutze ich View Transitions in React?

Rufe document.startViewTransition auf und aktualisiere den State innerhalb von flushSync aus react-dom, damit React das neue DOM synchron schreibt, bevor der Browser den neuen Snapshot erstellt.

Wie passe ich die Animation an?

Style die Pseudo-Elemente. ::view-transition-old(name) ist der ausgehende Snapshot und ::view-transition-new(name) der eingehende, und ::view-transition-group(name) steuert Größe und Position. Verwende root als Namen für die ganze Seite.

Was während einer Transition passiert

Elemente gut benennen

Typen für verschiedene Richtungen

Transitions im selben Dokument

startViewTransition mit Feature-Erkennung

Browser ohne die API führen das Update sofort aus, es geht also nichts kaputt.

Ein Thumbnail in ein Hero-Bild verwandeln

Nur ein Element darf den Namen gleichzeitig tragen, setze ihn deshalb erst kurz vor der Transition auf das angeklickte Thumbnail.

React

startViewTransition mit flushSync

flushSync sorgt dafür, dass React das neue DOM innerhalb des Callbacks übernimmt.

Transitions zwischen Dokumenten

Zwischen den Seiten einer Multi-Page-Website gleiten

Füge das in das Stylesheet jeder Seite ein, die mitmachen soll. Nur innerhalb derselben Origin.

API-Referenz

Die Bausteine der View Transitions API

Reduzierte Bewegung ist aktiviert, deshalb erfolgte die Änderung sofort.

Dein Browser unterstützt keine View Transitions, deshalb erfolgte die Änderung sofort.

Live-Demo

Mische das Raster oder öffne eine Karte. Jede Kachel hat ihren eigenen view-transition-name, deshalb animiert der Browser sie an ihre neue Position.

Mischen

Zurück zum Raster

Der Farbblock und der Titel haben sich aus dem Raster verwandelt, weil sie hier dieselben Namen behalten.

Kostenlos starten · Keine Kreditkarte nötig

Verwandt: Ratgeber

Produkt

Für wen

Funktionen

Ressourcen

Unternehmen

Sitemap