Galerie✨ Premium

Parallax Slider

Carrousel à profondeur : pendant que la piste glisse, le fond de chaque diapositive se décale à contre-sens et avance moins vite que le titre posé dessus.

CSSParallaxDepth

Mis à jour le

Cet effet fait partie d'Effect.Labs — 840 effets vanilla, une partie gratuite, une partie premium. Galerie comprend 44 effets, dont 6 gratuits. Découvrir la catégorie →

3 exemples d'usage

Les trois étapes d'une traversée des crêtes — haut de page d'un bureau des guides — Parallax Slider exemple 1

① Les trois étapes d'une traversée des crêtes — haut de page d'un bureau des guides

QuandEn arrivant sur le site, le visiteur clique sur › : le nom de l'étape file vers la gauche pendant que les chaînes de montagnes derrière lui glissent plus lentement, puis le jour 2 et ses névés prennent la place.
PourquoiDes plans de montagne superposés sont faits pour la parallaxe : le relief se lit dans le décalage entre le titre et le paysage, sans vidéo ni animation qui tourne en boucle. Le bandeau reste immobile tant que personne ne clique.
RéglagesBandeau pleine largeur : --pxsl-width:100%, --pxsl-height:100%, --pxsl-radius:0, flèches sombres --pxsl-arrow-bg:rgba(20,22,28,.35), data-slide="étape", profondeur par défaut (30). Fonds en <img class="pxsl-bg">, voile sombre sous le titre posé par le CSS de la page. Capture : clic sur › toutes les 1,5 s.
Les chapitres d'un livre audio pour enfants — couverture à balayer dans le lecteur — Parallax Slider exemple 2

② Les chapitres d'un livre audio pour enfants — couverture à balayer dans le lecteur

QuandDans le lecteur, l'enfant fait glisser l'illustration : la forêt s'en va, le bateau au couchant arrive, et le décor traîne derrière le titre du chapitre ; la durée sous la barre passe à celle du nouveau chapitre.
PourquoiLe geste du doigt suffit à un enfant, et la profondeur donne vie à une illustration fixe sans la transformer en dessin animé. Les chapitres restent peu nombreux, le retour au début se fait naturellement.
Réglages--pxsl-height:186px, --pxsl-ratio:auto, --pxsl-radius:16px, data-depth="40" pour un décalage plus marqué, data-slide="chapitre", pas de flèches. Capture : la scène envoie au vrai code un pointerdown puis un pointerup 120 px plus à gauche.
Les sujets à la une dans le menu déroulant d'un magazine — Parallax Slider exemple 3

③ Les sujets à la une dans le menu déroulant d'un magazine

QuandEn ouvrant « Rubriques », le lecteur voit à droite un petit encart « À la une » ; un clic sur › fait passer des tours qui respirent au retour du safran, avec la rubrique et le temps de lecture en dessous.
PourquoiDans un méga-menu, l'encart doit attirer l'œil sans bouger seul : la parallaxe ne joue qu'au clic, et l'effet de relief donne un aspect éditorial même à 150 px de haut.
Réglages--pxsl-height:150px, --pxsl-ratio:auto, --pxsl-radius:10px, flèches de 28 px, data-slide="sujet". Fonds en <img>, voile bas pour la lisibilité du titre. Capture : clic sur › toutes les 1,4 s.

Comment ça marche

Chaque diapositive .pxsl-slide contient deux couches : un fond .pxsl-bg plus large qu'elle (160 %, débordant de 30 % de chaque côté) et un titre .pxsl-caption au premier plan. Au changement, la piste glisse de 100 % comme un carrousel ordinaire, et le script décale en plus chaque fond de 30 % de sa propre largeur par rang d'écart avec l'image visible, dans le sens opposé.

Résultat : le titre traverse le cadre à pleine vitesse tandis que le paysage derrière lui ne parcourt qu'environ la moitié du chemin. C'est ce décalage de vitesse qui crée l'impression de relief. Le fond a sa propre transition (0,6 s) un peu plus longue que celle de la piste (0,5 s), ce qui accentue le retard. La valeur 30 se règle par l'attribut data-depth du cadre.

La parallaxe ne se voit que si le fond a des formes : un aplat ou un dégradé presque uni glisse sans qu'on le remarque. Les fonds de démonstration ont donc un disque clair et des bandes obliques. Avec vos photos, posez une <img class="pxsl-bg"> (recadrée en object-fit: cover) ou une <div class="pxsl-bg"> avec background-image ; un paysage avec des reliefs ou un horizon donne le meilleur rendu.

Commandes : flèches ‹ ›, touches ← → quand le focus est dans le cadre, glisser horizontal de plus de 50 px (Pointer Events). Après la dernière vue, retour à la première. Chaque .pxsl-carousel est indépendant, rien n'est posé sur window, et un second passage du script est sans effet (data-pxsl-ready).

Accessibilité

  • Fonds décoratifs : la couche .pxsl-bg n'est qu'un décor ; une <img> de fond prend alt="", et l'information va dans la légende ou le texte de la diapositive.
  • Rôles : role="region" et aria-roledescription="carrousel" sur le cadre, groupes « diapositive » nommés « 2 sur 3 », diapositives cachées en inert + aria-hidden.
  • Annonce et commandes : zone aria-live="polite" invisible après chaque changement ; flèches en vrais boutons nommés, anneau de focus blanc, touches ← →.
  • Mouvement réduit : sous prefers-reduced-motion: reduce, ni glissement ni décalage du fond : la vue change d'un coup. La profondeur disparaît, la navigation reste.
  • Lisibilité : le titre blanc porte une ombre portée ; sur un fond clair, ajoutez un voile sombre sous la légende pour garder le contraste.

Compatibilité navigateur

Environ 4 Ko de JavaScript. Mesures Playwright du 08/11/2026 dans Chromium, Firefox et WebKit : deux carrousels indépendants, script exécuté deux fois sans effet, Tab, Entrée et →, glisser au doigt (Chromium, 390 px) et à la souris, décalage des fonds relevé à mi-transition, mouvement réduit sans erreur. Planchers tirés de @mdn/browser-compat-data 8.1.8 ; inert les fixe.

Chrome 102+✓ Complet (mesuré)
Firefox 112+✓ Complet (mesuré)
Safari 15.5+✓ Complet (mesuré dans WebKit)
Edge 102+✓ Complet (moteur Chromium)
iOS Safari 15.5+✓ Non vérifié sur appareil réel
Android Chrome 102+✓ Complet (moteur Chromium)

Sans inert, tout fonctionne mais un lien d'une vue cachée reste atteignable au clavier. Sans aspect-ratio (Safari 14), réglez --pxsl-height. Sans JavaScript, la première vue s'affiche avec son fond, sans navigation.

Le code

Structure HTML à coller dans votre page (le CSS + JS sont inclus avec votre achat) :

index.html — structure
<div class="fx-0169-root">
  <div class="pxsl-carousel" role="region" aria-roledescription="carrousel" aria-label="Diaporama" data-slide="diapositive" data-of="sur">
    <div class="pxsl-track">
      <div class="pxsl-slide"><div class="pxsl-bg pxsl-bg-1"></div><span class="pxsl-caption">Parallax 1</span></div>
      <div class="pxsl-slide"><div class="pxsl-bg pxsl-bg-2"></div><span class="pxsl-caption">Parallax 2</span></div>
      <div class="pxsl-slide"><div class="pxsl-bg pxsl-bg-3"></div><span class="pxsl-caption">Parallax 3</span></div>
      <!-- une div.pxsl-slide par vue ; votre photo : <img class="pxsl-bg" src="…" alt=""> à la place du div de fond -->
      <!-- profondeur : data-depth="30" (facultatif) sur .pxsl-carousel -->
    </div>
    <button type="button" class="pxsl-arrow pxsl-prev" aria-label="Diapositive précédente"><svg>…</svg></button>
    <button type="button" class="pxsl-arrow pxsl-next" aria-label="Diapositive suivante"><svg>…</svg></button>
  </div>
</div>

Paiement unique, sans abonnement — le code est à toi pour toujours

Personnaliser

Options passées à l'API ou attributs data-* :

Option / propriétéDéfautEffet
Profondeur (HTML — data-depth sur .pxsl-carousel) 30 Décalage du fond, en % de sa largeur, par diapositive d'écart. 15 pour un effet discret, 40 pour un relief marqué ; au-delà, le bord du fond peut apparaître.
Débordement du fond (CSS — inset et taille de .pxsl-bg) -30 % · 160 % Si vous augmentez la profondeur, agrandissez le fond d'autant pour qu'il couvre toujours la diapositive.
Durées (CSS — --pxsl-duration, --pxsl-bg-duration) 0.5s · 0.6s Un fond plus lent que la piste renforce l'impression de profondeur.
Taille (CSS — --pxsl-width, --pxsl-ratio, --pxsl-height) 640px · 16 / 10 · auto Largeur maximale, format et hauteur imposée éventuelle.
Flèches et arrondi (CSS — --pxsl-arrow-bg, --pxsl-radius) blanc à 20 % · 1rem Foncez les flèches sur les ciels clairs.
Fonds de démonstration (CSS — .pxsl-bg-1 à .pxsl-bg-3) dégradés avec disque et bandes À supprimer dès que vous posez vos images.
Textes lus (HTML — data-slide, data-of, aria-label) diapositive · sur · Diaporama « étape 2 sur 3 », « chapitre 1 sur 3 »…

FAQ

Le décalage ne se perçoit que sur des formes : un ciel uni ou un fond flou glisse sans repère. Choisissez des images avec un horizon, des reliefs ou des objets nets, montez data-depth à 40, ou allongez --pxsl-bg-duration.
Pas avec ce code : le décalage dépend uniquement de la diapositive affichée. Une parallaxe liée au défilement relève d'un autre effet, de la catégorie Scroll.
Oui, toutes les diapositives sont recalculées à chaque changement : celle qui part glisse vers l'extérieur, celle qui arrive partait de -30 % et revient à 0. C'est ce double mouvement qu'on voit au milieu de la transition.