View Transitions API
Erstellen Sie mit der CSS View Transitions API flüssige Übergangsanimationen für Seiten und Elemente.
View Transitions API ist eine kostenlose CSS Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des CSS Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist die View Transitions API?
Die View Transitions API (Chrome 111+) ermöglicht flüssige, animierte Übergänge zwischen verschiedenen Zuständen einer Seite oder zwischen Seitennavigationen. Sie erfasst Screenshots vor und nach der Änderung und lässt sie mithilfe von CSS-Animationen ineinander übergehen – so werden App-ähnliche Übergänge im Web möglich.
Übergänge im selben Dokument
Starten Sie einen Übergang innerhalb derselben Seite, indem Sie eine DOM-Aktualisierung in document.startViewTransition(() => updateDom()) einschließen. Der Browser erfasst den alten Zustand, führt die Aktualisierung aus, erfasst den neuen Zustand und lässt beide automatisch ineinander überblenden.
<button id="update-btn">Update Content</button>
<div class="content">Before update</div>
Standardmäßiges Überblenden
Ohne CSS führt View Transitions ein einfaches Überblenden zwischen dem alten und dem neuen Seitenzustand aus. Diese eine Zeile JavaScript fügt einen ausgefeilten Übergang hinzu, für den zuvor eine komplexe Abstimmung von CSS-Animationen oder eine eigene Animationsbibliothek erforderlich war.
CSS-Pseudoelemente
Die API stellt vier Pseudoelemente bereit: ::view-transition (Root-Overlay), ::view-transition-old(root) (Screenshot der alten Seite), ::view-transition-new(root) (Screenshot der neuen Seite) und ::view-transition-image-pair(root). Passen Sie sie mit CSS-Animationen an.
Benannte Übergänge mit view-transition-name
Weisen Sie einem Element, das den Übergang überdauert, view-transition-name: hero-image zu. Die API führt dieses Element automatisch von seiner alten Position und Größe zu seiner neuen Position und Größe – so entsteht eine flüssige Animation auf Elementebene.
<div class="hero-img"></div>
Benutzerdefinierte Animationen
Ersetzen Sie das standardmäßige Überblenden durch eigene Keyframes für die Pseudoelemente: Lassen Sie bei der Vorwärtsnavigation das neue Bild von rechts hereingleiten und bei der Rückwärtsnavigation das alte Bild von links. Sprechen Sie ::view-transition-new(root) und ::view-transition-old(root) mit @keyframes an.
MPA-Übergänge (Navigation API)
Dokumentübergreifende View Transitions (Chrome 126+) animieren den Übergang zwischen vollständigen Seitennavigationen in Anwendungen mit mehreren Seiten. Fügen Sie @view-transition { navigation: auto; } zu CSS hinzu – der Browser übernimmt den Übergang zwischen HTML-Seiten automatisch, ganz ohne JavaScript.
Barrierefreiheit: Bewegungspräferenzen berücksichtigen
Benutzerinnen und Benutzer mit Gleichgewichtsstörungen sollten keinen bewegungsintensiven Übergängen ausgesetzt sein. Schließen Sie Übergangsanimationen in @media (prefers-reduced-motion: no-preference) ein, um benutzerdefinierte Animationen für Personen zu deaktivieren, die reduzierte Bewegung bevorzugen, und gleichzeitig die funktionale DOM-Aktualisierung beizubehalten.
<p>This rule targets browser-generated <code>::view-transition-old(root)</code> and <code>::view-transition-new(root)</code> pseudo-elements — visible only during an active view transition, not in a static preview.</p>
Integration in SPA-Frameworks
React Router v6.4+, Vue Router und Astro unterstützen View Transitions. Frameworks schließen Routenänderungen automatisch in startViewTransition ein. Konfigurieren Sie Übergangsstile pro Route mit view-transition-name für persistente Elemente wie Navigation und Layout-Container.
Überlegungen zur Leistung
View Transitions erfassen Screenshots der Seite, was bei komplexen Layouts aufwendig sein kann. Große Seiten mit vielen zusammengesetzten Ebenen können während der Aufnahme ruckeln. Halten Sie die Übergangsdauer unter 300 ms und vermeiden Sie Übergänge für extrem komplexe Teilbäume.
Progressive Verbesserung
Prüfen Sie vor der Verwendung, ob die API verfügbar ist: if (!document.startViewTransition) { updateDom(); return; }. Der Fallback aktualisiert das DOM normal und ohne Animation. View Transitions sind eine progressive Verbesserung – die Anwendung funktioniert auch ohne sie; wo sie unterstützt werden, verbessern sie lediglich das Nutzungserlebnis.
Wissensprüfung
Was ermöglicht view-transition-name an einem Element während eines View-Transitions-Übergangs?
Zusammenfassung
Die View Transitions API ermöglicht mit wenig Code Überblend- und Morphing-Animationen zwischen DOM-Zuständen oder Seitennavigationen. Benannte Übergangselemente werden automatisch ineinander überführt; benutzerdefinierte Animationen für Pseudoelemente ersetzen das standardmäßige Überblenden. Berücksichtigen Sie prefers-reduced-motion und verwenden Sie progressive Verbesserungen für nicht unterstützte Browser.
Häufig gestellte Fragen
Ist die Lektion „View Transitions API“ kostenlos?
Ja — der vollständige Text von „View Transitions API“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des CSS Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der CSS Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „View Transitions API“?
Erstellen Sie mit der CSS View Transitions API flüssige Übergangsanimationen für Seiten und Elemente. Du übst CSS Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um CSS Academy zu starten?
Keine Vorkenntnisse erforderlich. CSS Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „View Transitions API“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser CSS Academy-Lektion Code schreiben und ausführen?
Ja. Jede CSS Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Native CSS-Verschachtelung
- :has()-Relationspseudo-Klasse
- @scope für begrenzte Stile
- View Transitions API