Esempi della View Transitions API

View Transitions API: esempi dal vivo per SPA e multipagina | We.Inc

Esempi funzionanti della View Transitions API: startViewTransition in una lista da mescolare, elementi con nome che si trasformano, @view-transition tra pagine, tipi, React e supporto.

Esempi della View Transitions API

La View Transitions API anima il passaggio tra due stati di una pagina. In una single-page app, racchiudi l'aggiornamento del DOM in document.startViewTransition(() => update()). Tra pagine della stessa origine, aggiungi @view-transition { navigation: auto; } a entrambe le pagine. Dai a un elemento un view-transition-name univoco e il browser lo trasforma dalla vecchia posizione alla nuova.

Due tipi di view transition

La maggior parte delle spiegazioni sulle view transition descrive l'albero degli pseudo-elementi e si ferma lì. Questa pagina parte da una demo funzionante nel tuo browser: mescola una griglia, apri una scheda in una vista di dettaglio e guarda muoversi gli elementi con nome. Poi ti dà il codice per ogni pattern, la configurazione tra pagine e i fallback per i browser senza supporto.

Domande frequenti

Cosa fa document.startViewTransition?

Fa uno snapshot della pagina attuale, esegue la tua callback di aggiornamento, poi anima dal vecchio snapshot al nuovo stato reale. Restituisce un oggetto ViewTransition con le promise ready, finished e updateCallbackDone e un metodo skipTransition().

Come aggiungo le view transition tra pagine?

Metti @view-transition { navigation: auto; } nel CSS sia della pagina che lasci sia di quella su cui arrivi. Le pagine devono avere la stessa origine, e per impostazione predefinita ottieni una dissolvenza incrociata. Dai agli elementi corrispondenti lo stesso view-transition-name su entrambe le pagine per trasformarli.

Le view transition funzionano in Firefox?

Le transizioni nello stesso documento funzionano da Firefox 144. Le transizioni tra documenti non erano supportate in Firefox al momento della stesura, quindi su quei browser la navigazione avviene semplicemente senza animazione.

Come uso le view transition in React?

Chiama document.startViewTransition e aggiorna lo stato dentro flushSync di react-dom, così React scrive il nuovo DOM in modo sincrono prima che il browser faccia il nuovo snapshot.

Come personalizzo l'animazione?

Applica stili agli pseudo-elementi. ::view-transition-old(name) è lo snapshot in uscita e ::view-transition-new(name) quello in entrata, mentre ::view-transition-group(name) controlla dimensione e posizione. Usa root come nome per l'intera pagina.

Cosa succede durante una transizione

Dare bene i nomi agli elementi

Tipi per direzioni diverse

Transizioni nello stesso documento

startViewTransition con rilevamento della funzionalità

I browser senza l'API eseguono subito l'aggiornamento, quindi non si rompe nulla.

Trasformare una miniatura in un'immagine hero

Solo un elemento alla volta può avere il nome, quindi impostalo sulla miniatura cliccata appena prima della transizione.

React

startViewTransition con flushSync

flushSync fa sì che React applichi il nuovo DOM dentro la callback.

Transizioni tra documenti

Scorrimento tra le pagine di un sito multipagina

Includilo nel foglio di stile di ogni pagina che deve partecipare. Solo stessa origine.

Riferimento dell'API

Le parti della View Transitions API

Il movimento ridotto è attivo, quindi il cambio è stato istantaneo.

Il tuo browser non supporta le view transition, quindi il cambio è stato istantaneo.

Demo dal vivo

Mescola la griglia o apri una scheda. Ogni riquadro ha il proprio view-transition-name, quindi il browser lo anima verso la sua nuova posizione.

Mescola

Torna alla griglia

Il blocco di colore e il titolo si sono trasformati dalla griglia perché qui mantengono gli stessi nomi.

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito