Exemples de la View Transitions API

View Transitions API : exemples en direct pour SPA et multipage | We.Inc

Exemples fonctionnels de la View Transitions API : startViewTransition sur une liste que vous pouvez mélanger, éléments nommés qui se transforment, @view-transition entre pages, types, React et compatibilité.

Exemples de la View Transitions API

La View Transitions API anime le passage entre deux états d'une page. Dans une application monopage, encapsulez la mise à jour du DOM dans document.startViewTransition(() => update()). Entre des pages de même origine, ajoutez @view-transition { navigation: auto; } aux deux pages. Donnez à un élément un view-transition-name unique et le navigateur le fait passer de son ancienne position à la nouvelle.

Deux types de view transition

La plupart des explications sur les view transitions décrivent l'arbre de pseudo-éléments et s'arrêtent là. Cette page commence par une démo fonctionnelle dans votre navigateur : mélangez une grille, ouvrez une carte en vue détaillée et regardez les éléments nommés se déplacer. Elle donne ensuite le code de chaque modèle, la configuration entre pages et les solutions de repli pour les navigateurs sans support.

Questions fréquentes

Que fait document.startViewTransition ?

Il capture la page actuelle, exécute votre callback de mise à jour, puis anime le passage de l'ancienne capture au nouvel état réel. Il renvoie un objet ViewTransition avec les promesses ready, finished et updateCallbackDone et une méthode skipTransition().

Comment ajouter des view transitions entre des pages ?

Placez @view-transition { navigation: auto; } dans le CSS de la page que vous quittez et de celle où vous arrivez. Les pages doivent partager la même origine, et vous obtenez par défaut un fondu enchaîné. Donnez le même view-transition-name aux éléments correspondants sur les deux pages pour les transformer de l'un à l'autre.

Les view transitions fonctionnent-elles dans Firefox ?

Les transitions de même document fonctionnent depuis Firefox 144. Les transitions entre documents n'étaient pas prises en charge par Firefox au moment de la rédaction : sur ces navigateurs, la navigation se fait simplement sans animation.

Comment utiliser les view transitions dans React ?

Appelez document.startViewTransition et mettez à jour l'état dans flushSync de react-dom, pour que React écrive le nouveau DOM de façon synchrone avant que le navigateur prenne la nouvelle capture.

Comment personnaliser l'animation ?

Stylisez les pseudo-éléments. ::view-transition-old(name) est la capture sortante, ::view-transition-new(name) la capture entrante, et ::view-transition-group(name) contrôle la taille et la position. Utilisez root comme nom pour la page entière.

Ce qui se passe pendant une transition

Bien nommer les éléments

Des types selon la direction

Transitions de même document

startViewTransition avec détection de support

Les navigateurs sans l'API exécutent directement la mise à jour, rien ne casse.

Transformer une miniature en image hero

Un seul élément peut porter le nom à un instant donné : définissez-le sur la miniature cliquée juste avant la transition.

React

startViewTransition avec flushSync

flushSync oblige React à valider le nouveau DOM dans le callback.

Transitions entre documents

Glisser d'une page à l'autre sur un site multipage

Ajoutez ceci à la feuille de style de chaque page concernée. Même origine uniquement.

Référence de l'API

Les éléments de la View Transitions API

La réduction des animations est activée, le changement a donc été instantané.

Votre navigateur ne prend pas en charge les view transitions, le changement a donc été instantané.

Démo en direct

Mélangez la grille ou ouvrez une carte. Chaque tuile a son propre view-transition-name, le navigateur l'anime donc jusqu'à sa nouvelle position.

Mélanger

Retour à la grille

Le bloc de couleur et le titre se sont transformés depuis la grille car ils gardent ici les mêmes noms.

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site