Blog / CSS

Creer un bouton glow avec CSS pur

Apprenez a creer un effet de lueur (glow) anime autour de vos boutons en utilisant uniquement CSS. Aucun JavaScript requis, compatible tous navigateurs modernes.

Introduction

L'effet glow (ou effet de lueur) est l'un des effets les plus populaires en web design moderne. Il donne un aspect premium et futuriste a vos boutons, attirant immediatement l'attention de l'utilisateur.

Dans ce tutoriel, nous allons explorer 5 variations differentes de l'effet glow, du plus simple au plus elabore. Chaque exemple est accompagne du code complet que vous pouvez copier et adapter a votre projet.

💡
Bon a savoir

L'effet glow utilise principalement la propriete box-shadow. Cette propriete est supportee par tous les navigateurs modernes sans prefixe.

1. Glow basique au hover

Commencons par la version la plus simple : un glow qui apparait au survol de la souris. C'est l'implementation ideale si vous voulez un effet subtil et non intrusif.

button-glow-basic.css
.btn-glow {
  padding: 16px 32px;
  font-size: 1rem;
  font-weight: 600;
  background: #6366f1;
  color: white;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;

  /* Glow de base visible */
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.5);
}

.btn-glow:hover {
  /* Glow intensifie au hover */
  box-shadow: 0 0 40px rgba(99, 102, 241, 0.8);
  transform: translateY(-2px);
}

Comment ca fonctionne

La propriete box-shadow accepte plusieurs parametres :

  • Offset X et Y (0 0) : On garde a zero pour que le glow soit centre autour du bouton
  • Blur radius (20px/40px) : Plus cette valeur est grande, plus le glow est diffus
  • Couleur avec opacite : Utilisez rgba() pour controler l'intensite

2. Glow anime en boucle

Pour attirer encore plus l'attention, ajoutons une animation qui fait pulser le glow en continu. C'est parfait pour les boutons call-to-action importants.

button-glow-animated.css
.btn-glow-animated {
  padding: 16px 32px;
  background: #6366f1;
  color: white;
  border: none;
  border-radius: 12px;
  cursor: pointer;

  /* Animation en boucle infinie */
  animation: glowPulse 2s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% {
    box-shadow: 0 0 20px rgba(99, 102, 241, 0.4);
  }
  50% {
    box-shadow:
      0 0 40px rgba(99, 102, 241, 0.8),
      0 0 60px rgba(99, 102, 241, 0.4);
  }
}

/* Pause l'animation au hover pour feedback */
.btn-glow-animated:hover {
  animation-play-state: paused;
  box-shadow: 0 0 50px rgba(99, 102, 241, 1);
}
⚠️
Attention a l'accessibilite

Les animations en boucle peuvent etre genantes pour certains utilisateurs. Pensez a utiliser @media (prefers-reduced-motion: reduce) pour les desactiver si l'utilisateur a configure cette preference.

3. Glow avec gradient

Pour un effet encore plus sophistique, combinons un arriere-plan degrade avec un glow bicolore. Cette technique cree un effet de profondeur tres elegant.

button-glow-gradient.css
.btn-glow-gradient {
  padding: 16px 32px;
  background: linear-gradient(135deg, #6366f1, #8b5cf6);
  color: white;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  animation: glowGradient 3s ease-in-out infinite;
}

@keyframes glowGradient {
  0%, 100% {
    box-shadow:
      0 0 20px rgba(99, 102, 241, 0.5),
      0 0 40px rgba(139, 92, 246, 0.3);
  }
  50% {
    box-shadow:
      0 0 30px rgba(139, 92, 246, 0.6),
      0 0 60px rgba(99, 102, 241, 0.4);
  }
}

4. Effet Neon

L'effet neon est une variante populaire qui combine un glow externe avec un text-shadow et une bordure coloree. Le resultat rappelle les enseignes lumineuses retro.

button-neon.css
.btn-neon {
  padding: 16px 32px;
  background: transparent;
  color: #00ff88;
  border: 2px solid #00ff88;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
  transition: all 0.3s ease;

  /* Glow sur le texte */
  text-shadow: 0 0 10px #00ff88;

  /* Glow externe + interne */
  box-shadow:
    0 0 20px rgba(0, 255, 136, 0.3),
    inset 0 0 20px rgba(0, 255, 136, 0.1);
}

.btn-neon:hover {
  background: #00ff88;
  color: #0a0a0f;
  text-shadow: none;
  box-shadow:
    0 0 40px rgba(0, 255, 136, 0.6),
    0 0 80px rgba(0, 255, 136, 0.3);
}

5. Glow Rainbow anime

Pour finir en beaute, voici un effet spectaculaire : un glow qui change de couleur en suivant un degrade arc-en-ciel anime. A utiliser avec parcimonie !

button-rainbow.css
.btn-rainbow {
  padding: 16px 32px;
  color: white;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;

  /* Gradient anime */
  background: linear-gradient(
    90deg,
    #ff0080,
    #ff8c00,
    #40e0d0,
    #ff0080
  );
  background-size: 300% 100%;

  animation: rainbowGlow 4s linear infinite;
}

@keyframes rainbowGlow {
  0% {
    background-position: 0% 50%;
    box-shadow: 0 0 20px rgba(255, 0, 128, 0.5);
  }
  33% {
    box-shadow: 0 0 20px rgba(255, 140, 0, 0.5);
  }
  66% {
    box-shadow: 0 0 20px rgba(64, 224, 208, 0.5);
  }
  100% {
    background-position: 300% 50%;
    box-shadow: 0 0 20px rgba(255, 0, 128, 0.5);
  }
}

Bonnes pratiques

Avant de conclure, voici quelques recommandations pour utiliser les effets glow de maniere efficace :

Performance

  • Limitez le nombre d'elements avec glow anime sur une meme page
  • Utilisez will-change: box-shadow si vous avez des problemes de performance
  • Preferez les transitions aux animations quand c'est possible

Design

  • Gardez la coherence : utilisez les memes couleurs que votre charte graphique
  • Fond sombre recommande : les glows ressortent mieux sur fond fonce
  • Un seul CTA glow par section pour ne pas diluer l'attention

Accessibilite

accessibility.css
/* Desactiver les animations pour les utilisateurs sensibles */
@media (prefers-reduced-motion: reduce) {
  .btn-glow-animated,
  .btn-glow-gradient,
  .btn-glow-rainbow {
    animation: none;
  }
}

Conclusion

L'effet glow est un outil puissant pour mettre en valeur vos boutons et CTAs. En maitrisant box-shadow et @keyframes, vous pouvez creer une infinite de variations adaptees a votre design.

N'hesitez pas a experimenter avec les valeurs et les couleurs pour trouver l'effet parfait pour votre projet. Et souvenez-vous : la subtilite est souvent plus efficace que l'exces !

🎨
Allez plus loin

Retrouvez 27 effets de boutons prets a l'emploi dans notre bibliotheque d'effets, avec code copiable en un clic.