← L'effet parallaxe

Labo parallaxe.

Faites défiler l'écran de gauche. Une seule timeline, celle de la section, fait avancer quatre calques en même temps. Chaque calque a sa propre amplitude : c'est elle qui décide s'il semble loin ou proche. Activez les rayons X pour voir les boîtes qui dépassent de la section.

L'écran du visiteur

Le haut de la page

Défilez vers le bas. La section avec la vallée va entrer par le bas de l'écran.

Pendant qu'elle traverse l'écran, sa timeline va de 0 % à 100 %.

--scene : 0 %
La valléeLe contenu : aucune animation

La suite de la page

La section est sortie par le haut : sa timeline est à 100 %.

Remontez : tout revient en arrière, parce que l'animation suit le défilement, pas le temps.

timeline de la section : 0 %

Les calques, en direct

Changez l'amplitude d'un calque et défilez à nouveau. Amplitude positive : le calque glisse vers le bas dans la section, il monte moins vite que le texte, il semble loin. Négative : il glisse vers le haut, il monte plus vite, il semble proche.

CalqueAmplitudetranslateY maintenantVitesse à l'écran

Le CSS qui fait ça

Il se met à jour avec vos amplitudes. Un seul @keyframes pour tous les calques : chaque calque lui donne ses propres valeurs avec deux variables.


      

Les quatre idées à retenir

  • Une seule timeline pour toute la scène. La section se nomme --scene avec view-timeline-name. Tous les calques suivent cette timeline : ils avancent ensemble, de 0 % à 100 %, pendant que la section traverse l'écran.
  • La profondeur, c'est la différence de vitesse. Le texte n'a pas d'animation : il monte à la vitesse du défilement. Un calque qui glisse vers le bas dans la section monte moins vite à l'écran, donc il semble loin. Plus l'amplitude est grande, plus il semble loin.
  • Chaque calque est plus grand que la section. Sinon, en glissant, il laisserait un trou en haut ou en bas. La marge (top et bottom négatifs) doit couvrir tout le déplacement. Ici, elle est calculée pour vous; en rayons X, vous voyez les boîtes dépasser.
  • overflow: clip cache ce qui dépasse. Coupez les rayons X : seule la partie des calques à l'intérieur de la section reste visible.

Pour aller plus loin