581 tutoriels en ligne

Créa-blog

#100JoursPourCoder
Projet Créa-code

Ressources pour développeur web

Théme de la semaine : Google Analytics

L’effet parallaxe CSS : De la profondeur dans vos pages web

Temps de lecture estimé : 11 minutes
Accueil CSS3 L’effet parallaxe CSS : De la profondeur dans vos pages web

Vous êtes déjà tombé sur un site web qui vous a donné une sensation de mouvement en faisant simplement défiler la page ? Comme si les images glissaient doucement à une vitesse différente du texte, créant une impression de profondeur presque magique ? Cet effet, vous l’avez sans doute déjà vu sans le savoir. Il s’agit de l’effet parallaxe CSS.

  • Comprendre clairement ce qu’est l’effet parallaxe et savoir l’utiliser avec justesse pour rendre un site plus vivant, sans nuire à la lisibilité ni à l’expérience utilisateur.
  • Être capable de décider quand cet effet apporte une vraie valeur visuelle et quand il vaut mieux s’en passer, afin d’éviter les erreurs courantes qui donnent un rendu amateur.
  • Gagner en assurance pour intégrer un effet parallaxe simple et propre dans ses projets web, avec une approche réfléchie, accessible et compatible avec les bonnes pratiques modernes.

Dans le monde du web moderne et du FrontEnd, l’attention de l’utilisateur est précieuse. Quelques secondes suffisent pour qu’un visiteur décide de rester… ou de partir. C’est là que certains effets visuels, bien utilisés, peuvent faire toute la différence. L’effet parallaxe fait partie de ces outils capables de transformer une page banale en une expérience plus vivante.

Dans ce guide, nous allons prendre le temps de comprendre ensemble ce qu’est réellement l’effet parallaxe, à quoi il sert, comment et surtout quand l’utiliser. Pas besoin d’être un expert en JavaScript ou un génie du CSS : nous partirons de zéro avec des exemples simples et concrets.

Qu’est-ce que l’effet parallaxe ?

À l’origine, le mot « parallaxe » ne vient pas du web. Il est emprunté au monde de la physique et de l’astronomie. Il désigne le décalage apparent d’un objet selon le point de vue de l’observateur. Dit autrement, quand vous regardez un paysage depuis une voiture en mouvement, les objets proches défilent rapidement, tandis que les montagnes au loin semblent presque immobiles. C’est exactement ce principe que l’on cherche à reproduire sur une page web.

L’effet parallaxe consiste à faire défiler différents éléments d’une page à des vitesses différentes lorsque l’utilisateur scroll. Le contenu principal, comme le texte, avance normalement. En revanche, une image d’arrière-plan ou un visuel décoratif se déplace plus lentement. Résultat : l’œil perçoit une profondeur, comme si la page avait plusieurs plans superposés.

Sur le plan technique, l’effet parallaxe n’est pas une animation complexe. Il repose essentiellement sur la gestion du défilement et sur le positionnement des éléments. Pourtant, son impact visuel est souvent spectaculaire lorsqu’il est bien maîtrisé.

À quoi sert l’effet parallaxe sur un site web ?

L’effet parallaxe n’est pas là pour « faire joli » gratuitement. Lorsqu’il est utilisé avec intelligence, il remplit plusieurs rôles importants.

Tout d’abord, il permet de capter l’attention. Un mouvement subtil attire naturellement le regard. Sans même s’en rendre compte, l’utilisateur est incité à continuer à faire défiler la page pour voir ce qui va se passer ensuite. C’est un excellent moyen de réduire le taux de rebond sur une page d’accueil ou une landing page.

Ensuite, l’effet parallaxe aide à structurer visuellement le contenu. Il peut servir à marquer une transition entre deux sections, à mettre en valeur un message clé ou à créer une pause visuelle entre deux blocs de texte. Au lieu d’une simple séparation fade, on obtient une respiration graphique.

Enfin, il participe à l’identité visuelle d’un site. Un effet parallaxe bien dosé donne une impression de modernité, de professionnalisme et de soin apporté aux détails. À l’inverse, un site sans aucune animation peut parfois sembler figé, surtout dans certains domaines créatifs.

Lors de la refonte d’un site vitrine pour un artisan, un simple bandeau avec un effet parallaxe discret a suffi à changer la perception du site. Sans ajouter une seule ligne de texte, le client a eu l’impression que son site « faisait plus haut de gamme ». Parfois, un effet bien placé vaut plus qu’un long discours.

Effet parallaxe et expérience utilisateur

Il est important de le dire clairement : l’effet parallaxe n’est pas une obligation. Ce n’est pas parce qu’il existe qu’il faut l’utiliser partout. L’objectif principal reste toujours l’expérience utilisateur.

Un bon effet parallaxe doit être fluide, léger et presque invisible dans son fonctionnement. L’utilisateur ne doit pas se dire « tiens, il y a un effet », mais plutôt ressentir une navigation plus agréable. Si l’effet devient trop marqué, trop lent ou trop saccadé, il peut rapidement devenir gênant, surtout sur mobile.

C’est pour cette raison que l’on réserve souvent l’effet parallaxe à des zones spécifiques : un bandeau d’introduction, une image de transition, une section storytelling. Il accompagne le contenu, il ne doit jamais le dominer.

Comment fonctionne l’effet parallaxe, en termes simples ?

Sans entrer immédiatement dans le code, essayons de comprendre le principe avec des mots simples.

Quand l’utilisateur fait défiler une page, le navigateur sait exactement de combien de pixels la page a bougé. Il est donc possible d’utiliser cette information pour dire à un élément : « déplace-toi, mais moins vite » ou « déplace-toi différemment ». C’est ce décalage volontaire qui crée l’effet parallaxe.

Exemple en CSS pure

Mettre en avant un message clé

Astuce : gardez l’effet discret, c’est là qu’il fait le plus pro.

Ce cadre de démo est réalisé en CSS pure. Retrouvez son code source à la fin de cet article.

Il existe plusieurs façons de mettre en place un effet parallaxe : uniquement en CSS, avec un peu de JavaScript, ou via des bibliothèques spécialisées.

Quand utiliser l’effet parallaxe (et quand l’éviter)

Avant de plonger dans le code, il est essentiel de comprendre une chose : l’effet parallaxe est un outil, pas une solution miracle. Comme tout outil, son efficacité dépend du contexte dans lequel vous l’utilisez.

L’effet parallaxe fonctionne particulièrement bien lorsqu’il accompagne une intention claire. Par exemple, sur une page d’accueil, il peut servir à créer une première impression forte. Un grand visuel avec un léger effet parallaxe donne immédiatement de la profondeur et attire l’œil sans demander d’effort à l’utilisateur. C’est souvent le premier contact avec votre univers visuel.

Il est également très pertinent dans une logique de storytelling. Lorsque vous racontez une histoire, que ce soit la présentation d’un projet, d’un produit ou d’une marque, l’effet parallaxe peut accompagner le défilement comme un décor en mouvement. Le contenu avance, le décor suit plus lentement, et l’utilisateur a l’impression de « traverser » la page.

En revanche, il faut être prudent sur certains types de pages. Sur une page très dense en informations, comme un article long ou une interface d’administration, l’effet parallaxe peut devenir fatigant. Trop de mouvements nuisent à la lisibilité et à la concentration. De la même manière, sur mobile, un effet parallaxe mal optimisé peut provoquer des ralentissements ou des comportements étranges.

La règle d’or est simple :

Si l’effet parallaxe apporte quelque chose à la compréhension, à l’émotion ou à la mise en valeur du contenu, alors il a sa place. Sinon, mieux vaut s’en passer.

Les différentes approches pour créer un effet parallaxe

Il n’existe pas une seule manière de créer un effet parallaxe. En réalité, tout dépend de votre niveau, de vos besoins et de la complexité souhaitée.

La méthode la plus simple repose uniquement sur le CSS. Elle est idéale pour débuter, car elle ne nécessite aucun JavaScript. Elle fonctionne particulièrement bien pour des arrière-plans fixes qui donnent une impression de profondeur.

Une autre approche consiste à utiliser JavaScript pour contrôler précisément le déplacement des éléments en fonction du scroll. Cette méthode est plus flexible, mais aussi un peu plus technique. Elle permet de créer des effets parallaxe plus dynamiques et personnalisés.

Enfin, il existe des bibliothèques spécialisées qui facilitent grandement la mise en place de l’effet parallaxe. Elles sont pratiques, mais il est toujours préférable de comprendre les bases avant de s’appuyer sur ce type d’outil.

Ici, nous allons commencer par la méthode la plus accessible : l’effet parallaxe en CSS.

Premier exemple simple d’effet parallaxe en CSS

Commençons par quelque chose de concret. L’objectif ici est de créer une section avec une image d’arrière-plan qui semble se déplacer plus lentement que le reste de la page.

Voici un exemple de structure HTML très simple.

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Effet parallaxe simple</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>

    <section class="parallaxe">
        <div class="contenu">
            <h1>Bienvenue sur mon site</h1>
            <p>Découvrez l’effet parallaxe en douceur</p>
        </div>
    </section>

    <section class="classique">
        <p>
            Cette section sert simplement à créer du contenu
            pour permettre le défilement de la page.
        </p>
    </section>

</body>
</html>

Prenons un instant pour comprendre ce code. La section avec la classe « parallaxe » est celle qui contiendra l’effet parallaxe. À l’intérieur, on trouve un contenu classique, avec un titre et un paragraphe. Juste en dessous, une section classique permet d’ajouter de la hauteur à la page pour activer le scroll.

Passons maintenant au CSS.

body {
    margin: 0;
    font-family: Arial, sans-serif;
}

.parallaxe {
    background-image: url("image.jpg");
    height: 100vh;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

    display: flex;
    align-items: center;
    justify-content: center;
}

.contenu {
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 40px;
    text-align: center;
}

.classique {
    padding: 80px;
    background-color: #f5f5f5;
}

Ici se cache toute la magie. La propriété clé est background-attachment: fixed. Elle indique au navigateur que l’image de fond ne doit pas défiler normalement avec le reste de la page. Résultat : lorsque l’utilisateur scroll, le contenu avance, mais l’arrière-plan reste fixe, ce qui crée un effet parallaxe simple et efficace.

Les autres propriétés servent à centrer l’image, à l’adapter à la taille de l’écran et à rendre le contenu lisible grâce à un fond semi-transparent.

Cet effet est volontairement minimaliste. Il permet de comprendre le principe sans complexité inutile. C’est souvent ce type d’effet parallaxe que l’on retrouve sur les pages d’accueil ou les bandeaux de présentation.

Les limites de l’effet parallaxe en CSS

Même si cette méthode est idéale pour débuter, elle a ses limites. Sur certains navigateurs mobiles, la propriété background-attachment: fixed est ignorée pour des raisons de performance. Le rendu peut donc être différent selon l’appareil utilisé.

De plus, cet effet parallaxe reste assez rigide. Il fonctionne uniquement sur l’arrière-plan et ne permet pas de contrôler finement la vitesse de déplacement. C’est pour cette raison que, lorsque l’on souhaite aller plus loin, on se tourne vers le JavaScript.

Comprendre l’effet parallaxe avec JavaScript

Jusqu’ici, nous avons vu un effet parallaxe simple basé uniquement sur le CSS. C’est une excellente porte d’entrée, mais dès que l’on souhaite plus de liberté, le JavaScript devient un allié précieux. Rassurez-vous tout de suite : il ne s’agit pas de code complexe ou obscur. Au contraire, le principe est très logique une fois expliqué calmement.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

L’idée de base est la suivante : lorsque l’utilisateur fait défiler la page, le navigateur déclenche un événement appelé « scroll ». Cet événement nous permet de savoir à quelle position verticale se trouve la page. À partir de cette information, nous pouvons déplacer un élément plus lentement ou plus rapidement que le reste du contenu. C’est ce décalage qui crée l’effet parallaxe.

Autrement dit, on observe le scroll, on fait un petit calcul, et on applique un déplacement visuel. Rien de plus.

Un premier effet parallaxe en JavaScript, pas à pas

Commençons par une structure HTML volontairement simple.

<!DOCTYPE html>
<html lang="fr">
<head>
    <meta charset="UTF-8">
    <title>Effet parallaxe JavaScript</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>

    <div class="parallaxe-js">
        <h1>Effet parallaxe en JavaScript</h1>
    </div>

    <div class="contenu">
        <p>
            Faites défiler la page pour voir l’effet parallaxe
            s’appliquer progressivement à l’arrière-plan.
        </p>
    </div>

    <script src="script.js"></script>
</body>
</html>

Ici, la div avec la classe parallaxe-js est celle que nous allons animer. La section « contenu » sert simplement à créer du scroll, car sans défilement, il n’y a pas d’effet parallaxe.

Passons maintenant au CSS.

body {
    margin: 0;
    font-family: Arial, sans-serif;
}

.parallaxe-js {
    height: 100vh;
    background-image: url("image.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
}

.contenu {
    height: 150vh;
    padding: 60px;
    background-color: #f0f0f0;
}

Jusqu’ici, rien d’extraordinaire. La section parallaxe occupe toute la hauteur de l’écran, avec une image en arrière-plan. Le texte est centré pour rester lisible.

C’est maintenant que le JavaScript entre en scène.

Le cœur de l’effet parallaxe : le script JavaScript

Voici un premier script très simple.

const parallaxe = document.querySelector('.parallaxe-js');

window.addEventListener('scroll', () => {
    const scrollPosition = window.scrollY;
    parallaxe.style.backgroundPositionY = scrollPosition * 0.5 + 'px';
});

Prenons le temps de comprendre chaque ligne.

La première ligne permet de récupérer l’élément HTML sur lequel on souhaite appliquer l’effet parallaxe. Ici, c’est notre div principale.

Ensuite, on écoute l’événement scroll de la fenêtre. Cela signifie que chaque fois que l’utilisateur fait défiler la page, le code à l’intérieur s’exécute.

La variable scrollPosition contient la position verticale actuelle du scroll, exprimée en pixels. Plus l’utilisateur descend, plus cette valeur augmente.

Enfin, on modifie dynamiquement la position verticale de l’image de fond. Le calcul scrollPosition * 0.5 est essentiel. Il permet de ralentir le déplacement de l’arrière-plan par rapport au scroll réel. Si vous changez ce coefficient, vous modifiez la vitesse de l’effet parallaxe.

Avec ce simple script, vous obtenez déjà un effet parallaxe fluide et personnalisable.

Pourquoi ce calcul fonctionne-t-il ?

C’est une question que beaucoup de débutants se posent, et elle est tout à fait légitime. Lorsque vous scrollez de 100 pixels, la page avance de 100 pixels. Mais ici, nous demandons à l’arrière-plan de se déplacer seulement de 50 pixels. Ce décalage crée une illusion de profondeur, comme si l’image était placée plus loin que le contenu.

Plus le coefficient est petit, plus l’effet parallaxe est subtil. À l’inverse, un coefficient trop élevé rendra l’effet artificiel et désagréable.

Performance et bonnes pratiques

Il est important d’aborder un point souvent négligé : la performance. L’événement scroll peut se déclencher des dizaines de fois par seconde. Si votre code est trop lourd, cela peut ralentir la page.

Pour un effet parallaxe simple, le code que nous venons de voir est suffisant. Cependant, il est recommandé d’éviter de multiplier les calculs ou de cibler trop d’éléments en même temps. Un ou deux effets parallaxe bien placés valent mieux qu’une page surchargée.

Sur mobile, la prudence est encore plus importante. Les performances étant plus limitées, un effet parallaxe trop complexe peut nuire à l’expérience utilisateur. Dans certains cas, il est même préférable de désactiver l’effet sur les petits écrans.

Effet parallaxe et accessibilité

Un autre point essentiel concerne l’accessibilité. Certaines personnes sont sensibles aux mouvements excessifs à l’écran. C’est pourquoi il est conseillé de respecter les préférences utilisateur, notamment via la media query prefers-reduced-motion.

Voici un exemple simple.

@media (prefers-reduced-motion: reduce) {
    .parallaxe-js {
        background-position: center;
    }
}

Ainsi, si l’utilisateur a indiqué dans son système qu’il préfère limiter les animations, l’effet parallaxe est neutralisé automatiquement. C’est un petit détail, mais il fait une grande différence.

Des exemples concrets d’utilisation de l’effet parallaxe

Pour bien comprendre quand l’effet parallaxe est pertinent, rien ne vaut des situations réelles. Imaginez une page d’accueil classique. En haut, un grand visuel présente votre activité ou votre univers. C’est exactement à cet endroit que l’effet parallaxe est le plus efficace. Le visiteur arrive, commence à faire défiler la page, et l’arrière-plan se déplace doucement. Sans même s’en rendre compte, il est déjà engagé dans la navigation.

Un autre cas très courant concerne les sections de transition. Sur une page longue, composée de plusieurs blocs de texte, le défilement peut devenir monotone. Ajouter une section intermédiaire avec une image en parallaxe permet de créer une pause visuelle. Le cerveau respire, l’œil se repose, et la lecture reprend plus naturellement.

L’effet parallaxe fonctionne aussi très bien pour mettre en valeur un message clé. Une phrase forte, centrée sur une image qui se déplace lentement, attire immédiatement l’attention. L’utilisateur s’arrête, lit, et mémorise plus facilement l’information.

En revanche, utiliser l’effet parallaxe sur chaque section est rarement une bonne idée. Trop de mouvement tue le mouvement. Le parallaxe doit rester exceptionnel pour conserver son impact.

Les erreurs fréquentes avec l’effet parallaxe

L’une des erreurs les plus courantes est de vouloir impressionner à tout prix. Un effet parallaxe trop rapide, trop marqué ou mal synchronisé peut vite devenir désagréable. Au lieu d’une sensation de profondeur, on obtient une impression de flottement ou de manque de maîtrise.

Une autre erreur concerne les performances. Ajouter plusieurs effets parallaxe basés sur le scroll, sans optimisation, peut provoquer des ralentissements visibles. Sur un ordinateur récent, cela passe parfois inaperçu, mais sur un smartphone plus ancien, l’expérience peut se dégrader très rapidement.

Il faut également faire attention à la lisibilité. Un texte placé sur une image en mouvement doit rester parfaitement lisible. Un contraste insuffisant ou une image trop chargée peut rendre la lecture pénible. Dans ce cas, un fond semi-transparent ou un léger flou peut aider, mais toujours avec parcimonie.

Enfin, oublier l’accessibilité est une erreur trop souvent commise. Comme nous l’avons vu, certaines personnes sont sensibles aux animations. Respecter leurs préférences n’est pas une option, c’est une bonne pratique.

Effet parallaxe et SEO : un faux problème

Une question revient souvent : l’effet parallaxe est-il mauvais pour le SEO ? La réponse est simple. Non, tant qu’il est bien utilisé.

Les moteurs de recherche ne pénalisent pas l’effet parallaxe en lui-même. Ce qu’ils évaluent, c’est la qualité du contenu, la performance du site et l’expérience utilisateur. Un effet parallaxe léger, bien optimisé, n’a aucun impact négatif sur le référencement.

En revanche, un site lent, surchargé de scripts inutiles ou difficile à lire peut effectivement poser problème. L’effet parallaxe doit donc rester au service du contenu, jamais l’inverse. Le texte reste roi, l’effet visuel n’est là que pour l’accompagner.

Comment savoir si vous devez utiliser l’effet parallaxe

Avant d’ajouter un effet parallaxe, posez-vous une question simple : qu’apporte-t-il à cette page ? S’il renforce un message, améliore la compréhension ou rend la navigation plus agréable, alors il a toute sa place.

Si, en revanche, il est ajouté « parce que c’est à la mode », sans réflexion, il risque de nuire à l’ensemble. Le bon webdesign repose souvent sur la retenue. Un effet discret, bien placé, aura toujours plus d’impact qu’une accumulation d’animations.

Code source du cadre de démo de l’effet parallaxe

<section class="cbp-demo" aria-label="Démonstration effet parallaxe">
  <div class="cbp-inner">
    <div class="cbp-card">
      <div class="cbp-badge">CSS</div>
      <h2 class="cbp-title">Un message clé qui ressort vraiment</h2>
      <p class="cbp-text">
        Faites défiler la page : l’arrière-plan reste “accroché” pendant que le contenu avance.
        C’est une façon simple et efficace de créer un effet parallaxe pour mettre en avant une idée.
      </p>
      <p class="cbp-mini">
        Astuce : gardez l’effet discret, c’est là qu’il fait le plus pro.
      </p>
    </div>
  </div>
</section>

<style>
  /* ===== Démo Parallaxe (compat WordPress) ===== */

  .cbp-demo{
    margin: 28px 0;
    border-radius: 18px;
    overflow: hidden;
    min-height: 420px;

    /* Parallaxe CSS (simple + fiable) */
    background-image:
      linear-gradient(180deg, rgba(0,0,0,.30), rgba(0,0,0,.05)),
      url("https://images.unsplash.com/photo-1514472532243-4b98ecca4704?auto=format&fit=crop&fm=jpg&q=70&w=1600");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed; /* le cœur de l'effet */
    box-shadow: 0 18px 50px rgba(0,0,0,.10);
  }

  /* Centrage propre (au lieu de top:50%/transform) */
  .cbp-inner{
    min-height: 420px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
  }

  .cbp-card{
    max-width: 600px;
    width: 100%;
    border-radius: 16px;
    padding: 32px 26px;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255,255,255,.55);
  }

  .cbp-badge{
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: rgba(15,23,42,.10);
    color: rgba(15,23,42,.85);
  }

  .cbp-title{
    margin: 14px 0 10px;
    font-size: 28px;
    line-height: 1.15;
    color: #0f172a;
  }

  .cbp-text{
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: rgba(15,23,42,.85);
  }

  .cbp-mini{
    margin: 16px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(99,102,241,.12);
    color: rgba(15,23,42,.88);
    font-size: 14px;
    line-height: 1.45;
  }

  /* Mobile : certains navigateurs ignorent background-attachment: fixed */
  @media (max-width: 900px){
    .cbp-demo{ background-attachment: scroll; }
    .cbp-title{ font-size: 22px; }
  }

  /* Accessibilité : réduit les animations (ici, on neutralise l'effet) */
  @media (prefers-reduced-motion: reduce){
    .cbp-demo{ background-attachment: scroll; }
  }
</style>

L’effet parallaxe est un excellent exemple de ce que le web moderne peut offrir lorsqu’il est utilisé avec intelligence. Derrière son apparente complexité se cache un principe simple, presque intuitif, basé sur le mouvement et la perception de la profondeur. Une fois compris, il devient un outil puissant pour enrichir l’expérience utilisateur.

Ce qui compte, ce n’est pas la prouesse technique, mais l’intention. Un effet parallaxe réussi est souvent celui que l’on remarque à peine, mais qui rend la navigation plus fluide, plus agréable et plus mémorable. Il accompagne le contenu sans jamais le voler.

En tant que créateur de sites ou développeur débutant, apprendre à maîtriser l’effet parallaxe, c’est aussi apprendre à doser. Comprendre quand l’utiliser, quand l’éviter, et surtout pourquoi. Et c’est précisément cette réflexion qui fera la différence entre un site simplement fonctionnel et un site réellement marquant.