Aller au contenu

Design4 min lecture

Comment créer un curseur thématique dans Webflow ?

Apprenez à créer un curseur dont la traînée change de couleurs selon la section de la page dans Webflow.

Dans ce tutoriel, Sandro cofondateur de l'agence Webflow Gemeos vous montre comment créer un curseur avec une traînée dont les couleurs changent selon la section de la page dans Webflow.

Exemple

Changez de thème puis bougez la souris dans la zone

Bougez la souris ici

Thème actif : feu

ThèmeCouleursAttribut custom
fire (défaut)Orange, rouge, dorédata-cursor-theme='fire'
waterBleu, cyan, cieldata-cursor-theme='water'
natureVert, émeraudedata-cursor-theme='nature'

1. Ajoutez l'attribut sur vos sections

Sur chaque section Webflow où vous voulez un thème différent, ajoutez le custom attribute data-cursor-theme avec la valeur fire, water ou nature. Le script détecte automatiquement quelle section est au centre de l'écran.

(function() {
  if (!window.matchMedia('(pointer: fine)').matches) return;

  var COUNT = 15;
  var particles = [];
  var mouseX = 0, mouseY = 0;

  // Détecter la section active pour changer le thème
  function getTheme() {
    var sections = document.querySelectorAll('[data-cursor-theme]');
    var active = 'fire';
    sections.forEach(function(s) {
      var rect = s.getBoundingClientRect();
      if (rect.top = window.innerHeight / 2) {
        active = s.dataset.cursorTheme;
      }
    });
    return active;
  }

  var themes = {
    fire:  ['#ff4500','#ff6a00','#ffb347','#ff8c00','#ffd700'],
    water: ['#00bfff','#1e90ff','#87ceeb','#4169e1','#00ced1'],
    nature:['#22c55e','#4ade80','#86efac','#16a34a','#bbf7d0'],
  };

  for (var i = 0; i < COUNT; i++) {
    var p = document.createElement('div');
    p.style.cssText = 'position:fixed;pointer-events:none;border-radius:50%;z-index:9999;transition:opacity 0.4s;opacity:0;';
    document.body.appendChild(p);
    particles.push({ el: p, x: 0, y: 0, life: 0 });
  }

  document.addEventListener('mousemove', function(e) {
    mouseX = e.clientX; mouseY = e.clientY;
    var theme = getTheme();
    var colors = themes[theme] || themes.fire;
    var p = particles[Math.floor(Math.random() * COUNT)];
    var size = 6 + Math.random() * 8;
    var color = colors[Math.floor(Math.random() * colors.length)];
    p.el.style.width = size + 'px';
    p.el.style.height = size + 'px';
    p.el.style.background = color;
    p.el.style.left = mouseX + 'px';
    p.el.style.top = mouseY + 'px';
    p.el.style.opacity = '0.8';
    p.el.style.boxShadow = '0 0 6px ' + color;
    setTimeout(function() { p.el.style.opacity = '0'; }, 150);
  });
})();

3. Ajoutez votre propre thème

Ajoutez une entrée dans l'objet themes avec vos couleurs de marque :

var themes = {
  fire: ['#ff4500','#ff6a00','#ffd700'],
  water: ['#00bfff','#1e90ff','#87ceeb'],
  nature: ['#22c55e','#4ade80','#86efac'],
  brand: ['#a78bfa','#f472b6','#60a5fa'], // Vos couleurs custom
};

Conclusion

Un curseur thématique ajoute une dimension narrative à la navigation. Cas d'usage :

  • Sites créatifs avec sections thématiques distinctes
  • Portfolios d'agences avec transitions entre projets
  • Landing pages storytelling avec plusieurs actes

Publié le 20 mai 2026

Sandro DA SILVA

Growth Marketer, expert Webflow et touche à tout. Sandro s'occupe des opérations commerciale, veille au bon déroulement des projets et s’occupe des problématiques liées au marketing (SEO, Tracking, Copywriting, etc)

Vous allez notre collaboration, c’est garanti

Prêt à faire décoller votre activité ?

demander un devis

Let’s f*****G GO !!