Voorbeelden van de View Transitions API

View Transitions API: live voorbeelden voor SPA en multipage | We.Inc

Werkende voorbeelden van de View Transitions API: startViewTransition in een lijst die u kunt schudden, benoemde elementen die morphen, @view-transition tussen pagina's, types, React en browsersupport.

Voorbeelden van de View Transitions API

De View Transitions API animeert tussen twee toestanden van een pagina. Wikkel in een single-page app de DOM-update in document.startViewTransition(() => update()). Voeg tussen pagina's op dezelfde origin @view-transition { navigation: auto; } toe aan beide pagina's. Geef een element een unieke view-transition-name en de browser morpht het van zijn oude positie naar de nieuwe.

Twee soorten view transitions

De meeste uitleg over view transitions beschrijft de boom van pseudo-elementen en houdt daar op. Deze pagina begint met een werkende demo in uw browser: schud een raster, open een kaart in een detailweergave en zie benoemde elementen bewegen. Daarna volgt de code voor elk patroon, de opzet tussen pagina's en de fallbacks voor browsers zonder support.

Veelgestelde vragen

Wat doet document.startViewTransition?

Het maakt een snapshot van de huidige pagina, voert uw update-callback uit en animeert dan van de oude snapshot naar de live nieuwe toestand. Het geeft een ViewTransition-object terug met de promises ready, finished en updateCallbackDone en een methode skipTransition().

Hoe voeg ik view transitions toe tussen pagina's?

Zet @view-transition { navigation: auto; } in de CSS van zowel de pagina die u verlaat als de pagina waarop u aankomt. De pagina's moeten dezelfde origin hebben, en standaard krijgt u een cross-fade. Geef overeenkomende elementen op beide pagina's dezelfde view-transition-name om ze te laten morphen.

Werken view transitions in Firefox?

Transities binnen hetzelfde document werken vanaf Firefox 144. Transities tussen documenten werden op het moment van schrijven niet ondersteund in Firefox, dus in die browsers vindt de navigatie gewoon zonder animatie plaats.

Hoe gebruik ik view transitions in React?

Roep document.startViewTransition aan en werk de state bij binnen flushSync uit react-dom, zodat React de nieuwe DOM synchroon schrijft voordat de browser de nieuwe snapshot maakt.

Hoe pas ik de animatie aan?

Style de pseudo-elementen. ::view-transition-old(name) is de uitgaande snapshot en ::view-transition-new(name) de inkomende, en ::view-transition-group(name) regelt grootte en positie. Gebruik root als naam voor de hele pagina.

Wat er tijdens een transitie gebeurt

Elementen goed benoemen

Types voor verschillende richtingen

Transities binnen hetzelfde document

startViewTransition met feature detection

Browsers zonder de API voeren de update direct uit, dus er gaat niets stuk.

Een thumbnail laten morphen naar een hero

Maar één element tegelijk mag de naam dragen, dus stel hem vlak voor de transitie in op de aangeklikte thumbnail.

React

startViewTransition met flushSync

flushSync laat React de nieuwe DOM binnen de callback committen.

Transities tussen documenten

Schuiven tussen pagina's van een site met meerdere pagina's

Neem dit op in de stylesheet van elke pagina die moet meedoen. Alleen binnen dezelfde origin.

API-referentie

De onderdelen van de View Transitions API

Verminderde beweging staat aan, dus de verandering was direct.

Uw browser ondersteunt geen view transitions, dus de verandering was direct.

Live demo

Schud het raster of open een kaart. Elke tegel heeft een eigen view-transition-name, dus de browser animeert hem naar zijn nieuwe positie.

Schudden

Terug naar raster

Het kleurvlak en de titel morphten vanuit het raster omdat ze hier dezelfde namen houden.

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap