Défilement parallaxe en CSS pur

Guide du défilement parallaxe en CSS

Défilement parallaxe en CSS pur : perspective et scroll-driven

Créez un effet parallaxe avec perspective et translateZ en CSS, ou avec des animations liées au défilement, voyez les calculs de profondeur en direct, et gérez correctement les téléphones et le mouvement réduit.

Le parallaxe en CSS pur repose sur deux méthodes fiables. La méthode perspective crée un conteneur de défilement avec perspective, repousse les calques d'arrière-plan avec translateZ, puis les agrandit d'un facteur égal à (perspective moins z) divisé par perspective. La méthode plus récente lie une animation translate à animation-timeline: view(). Les deux doivent se désactiver avec prefers-reduced-motion.

Trois façons d'obtenir un effet parallaxe

La plupart des tutoriels sur le parallaxe s'arrêtent à background-attachment: fixed, que les iPhone ne prennent en charge que partiellement. Ce guide présente les deux méthodes qui animent réellement des calques, explique le calcul de l'échelle pour que vos calques ne rétrécissent pas, et fournit un petit script de repli ainsi que la gestion du mouvement réduit qui évite de donner la nausée à qui que ce soit.

Questions fréquentes

Pourquoi mon calque en translateZ paraît-il plus petit ?

Éloigner un élément de l'observateur avec un translateZ négatif le rétrécit, exactement comme un objet lointain. Ajoutez scale((p - z) / p) pour lui rendre sa taille. Avec perspective: 1px et translateZ(-2px), cela donne scale(3).

background-attachment: fixed fonctionne-t-il sur mobile ?

Pas de façon fiable. caniuse n'indique qu'un support partiel dans iOS Safari et précise que la plupart des appareils mobiles mettent du temps à mettre à jour un fond fixe après le défilement. Considérez-le comme un bonus réservé au bureau et utilisez l'une des méthodes à base de transform quand l'effet compte.

Le parallaxe est-il mauvais pour l'accessibilité ?

Un mouvement important lié au défilement peut provoquer vertiges ou nausées chez les personnes atteintes de troubles vestibulaires. Respectez le réglage de réduction des animations du système d'exploitation avec la media query prefers-reduced-motion et affichez les calques de façon statique quand il est activé.

Quels navigateurs prennent en charge le parallaxe lié au défilement ?

En octobre 2026, caniuse indique animation-timeline dans Chrome et Edge à partir de 115, Safari à partir de 26 et Firefox à partir de 161. Les navigateurs plus anciens ignorent simplement l'animation, et la page reste lisible sans l'effet.

Comment fonctionne la méthode perspective

Téléphones et anciens navigateurs

Méthode 1 : perspective et translateZ

Hero à deux calques dans son propre conteneur de défilement

Faites défiler à l'intérieur du cadre. Le calque rayé est à translateZ(-2px) et agrandi d'un facteur 3, il se déplace donc au tiers de la vitesse de défilement.

Méthode 2 : animation liée au défilement avec view()

Image qui glisse quand sa section traverse l'écran

L'animation ne s'exécute que là où animation-timeline est pris en charge et si le lecteur n'a pas demandé de mouvement réduit.

Solution de repli en JavaScript

Petit parallaxe avec requestAnimationFrame

Utilisé uniquement quand les animations liées au défilement sont absentes. Le listener est passif et le travail se fait une fois par frame.

Bac à sable de profondeur

Profondeur du calque arrière (translateZ) : {n}px

Échelle nécessaire : {v}

Vitesse du calque arrière : {v} du défilement

Aperçu du parallaxe, faites défiler à l'intérieur

Le texte au premier plan bouge à pleine vitesse

Continuez à faire défiler pour voir le calque arrière traîner derrière.

Votre appareil demande un mouvement réduit, l'aperçu reste donc immobile.

Copier le CSS

Commencer gratuitement · Sans carte bancaire

Voir aussi: Guides

Produit

Pour qui

Fonctionnalités

Ressources

Entreprise

Plan du site