Cartes✨ Premium

Glow Pulse

Halo indigo-violet qui pulse en continu autour d'une carte — 100 % CSS, sans JavaScript, pour mettre un élément clé en lumière sur fond sombre.

CSSGlowLoop

Mis à jour le

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

3 exemples d'usage

Page de tarifs — Carte « Plan conseillé » — Glow Pulse exemple 1

① Page de tarifs — Carte « Plan conseillé »

QuandVotre page de tarifs présente 2 ou 3 plans côte à côte sur fond sombre : le plan à mettre en avant doit se distinguer sans texte d'accroche ni badge supplémentaire.
PourquoiLe halo qui pulse attire naturellement l'œil vers la carte conseillée et crée une hiérarchie visuelle forte, sans mouvement brusque ni distraction pour les autres éléments de la page.
RéglagesDurée 2,4 s pour un rythme plus posé ; couleur du halo adaptée à votre palette brand (vert #22c55e, bleu #3b82f6…) en modifiant les rgba() dans @keyframes glowPulse.
Hero technique — Widget « API active » — Glow Pulse exemple 2

② Hero technique — Widget « API active »

QuandUne landing page de documentation ou une page de statut présente un composant ou un widget live. Vous souhaitez signaler que le service est opérationnel sans texte ni icône supplémentaire.
PourquoiLe pulse indigo évoque un signal électronique actif — il communique l'état « en ligne » ou « connecté » avec un seul effet CSS, sans alourdir le code ni le DOM.
RéglagesCouleur remplacée par cyan rgba(6, 182, 212, .2/.4) (Tailwind cyan-500) pour évoquer un réseau actif ; durée réduite à 1,6 s pour un rythme plus alerte.
Tableau de bord analytics — KPI prioritaire en temps réel — Glow Pulse exemple 3

③ Tableau de bord analytics — KPI prioritaire en temps réel

QuandParmi plusieurs cartes de métriques dans un dashboard dark, une valeur critique (chiffre d'affaires live, compteur de sessions…) doit capter l'attention en permanence sans survol.
PourquoiLe halo discret mais persistant signale que cette carte est active ou prioritaire sans surcharger l'interface ; la boucle infinie renforce visuellement la notion de temps réel.
RéglagesOpacité réduite (`.15` et `.3` dans les keyframes) pour s'intégrer à un dashboard chargé ; carte élargie (width: 340px) pour afficher chiffres et sous-titres sans étroitesse.

Comment ça marche

L'animation repose sur un seul @keyframes glowPulse qui oscille la propriété box-shadow entre deux états : au repos (0 % et 100 %), un halo discret de 20 px en rgba(99, 102, 241, .2) ; au pic (50 %), deux couches superposées — un halo intérieur de 40 px en rgba(99, 102, 241, .4) et un anneau de diffusion externe de 60 px en rgba(139, 92, 246, .2). Le timing ease-in-out crée une respiration organique sans à-coup.

La classe .card-glow associe l'animation à une durée fixe de 2 secondes, en boucle infinie. Un liseré border: 1px solid rgba(99, 102, 241, .3) souligne le contour de la carte et ancre la teinte indigo au repos comme en mouvement. Les deux couleurs — indigo #6366f1 (composante principale) et violet #8b5cf6 (anneau de diffusion) — forment une palette cool cohérente reconnaissable dans les interfaces tech premium.

Deux variables CSS exposées sur :root permettent la personnalisation sans toucher à l'animation : --bg-card contrôle le fond de la carte (défaut : #12121a) et --radius-xl son rayon de coin (défaut : 1rem). L'effet est intégralement CSS — aucun JavaScript n'est impliqué, aucun runtime ne tourne en arrière-plan.

Accessibilité

  • prefers-reduced-motion absent du code — l'animation pulse tourne en boucle sans condition, y compris quand l'OS demande la réduction de mouvement. Correctif recommandé : ajouter @media (prefers-reduced-motion: reduce) { .card-glow { animation: none; } }.
  • Contraste texte WCAG AA : blanc (#ffffff) sur fond quasi-noir (#12121a), ratio ≥ 15:1 — largement conforme.
  • La carte .card-demo est un <div> avec cursor: pointer mais sans role="button" ni tabindex="0" — non focusable au clavier si elle est rendue interactive.
  • Aucun attribut aria-hidden ni role n'est présent dans la structure de base ; à ajouter si l'effet est purement décoratif dans un contexte sémantique existant.
  • L'effet attire l'attention par variation de luminosité (pas uniquement par couleur), ce qui le rend perceptible pour les personnes daltoniennes.

Compatibilité navigateur

Repose sur CSS Animations et box-shadow — supportés dans tous les navigateurs modernes depuis 2012. Zéro dépendance JavaScript.

Chrome 88+✓ Complet
Firefox 87+✓ Complet
Safari 14+✓ Complet
Edge 88+✓ Complet
Mobile iOS 14+✓ Complet
Android Chrome✓ Complet

Sans support CSS Animations (IE 10 et antérieurs), la carte s'affiche avec son fond sombre et son liseré indigo sans pulsation — aucune erreur JS, la page reste fonctionnelle.

Le code

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

index.html — structure
<div class="demo-preview">
  <!-- Wrapper centré fourni par l'effet -->
  <!-- card-demo : fond, dimensions, rayon -->
  <!-- card-glow : halo pulsé (border + animation) -->
  <div class="card-demo card-glow">
    Votre contenu
  </div>
  <!-- card-glow peut aussi s'appliquer directement -->
  <!-- à vos propres éléments (div, section, article…) -->
</div>
Débloquer le code complet — 9,90 € TTC/mois

Le code complet HTML + CSS + JS de Glow Pulse, prêt à coller — et les 840 effets. Ou 299 € TTC une fois, accès à vie.

Personnaliser

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

Option / propriétéDéfautEffet
--bg-card #12121a Couleur de fond de la carte (variable CSS :root). Remplacez par votre couleur dark brand ou par transparent pour un fond hérité.
--radius-xl 1rem Rayon des coins (variable CSS :root). 0 pour un rectangle strict, 50 % sur un carré pour un cercle.
animation-duration sur .card-glow 2s Rythme du pulse. 1,2 s = alerting vif, 3 s = respiration lente et apaisante.
Couleur principale dans @keyframes glowPulse rgba(99, 102, 241, ...) Teinte indigo des halos intérieur et extérieur. Remplacez les valeurs RVB pour votre palette (vert, cyan, ambre…).
Anneau externe 50% : rgba(139, 92, 246, .2) 0 0 60px violet diffus Deuxième couche de diffusion à mi-animation. Supprimez-la pour un halo mono-couleur, ou intensifiez (.4) pour un glow plus dramatique.
Opacité repos / pic dans @keyframes .2 → .4 Contraste de la pulsation. Montez le pic à .7 pour un glow intense, baissez le repos à .05 pour une présence très discrète.
Portée du halo dans @keyframes (50%) 0 0 40px / 0 0 60px Distance de diffusion lumineuse. 0 0 80px pour un halo large et aérien, 0 0 16px pour un contour lumineux serré.

FAQ

Oui, Glow Pulse est 100 % CSS — aucun JavaScript n'est nécessaire. L'animation est portée par @keyframes glowPulse et la propriété animation sur .card-glow. Copiez le CSS, ajoutez la classe à votre élément et c'est prêt. Compatible React, Vue, Angular, Svelte : aucun runtime JS n'entre en jeu, la classe peut s'appliquer à n'importe quel élément HTML.
Modifiez les valeurs rgba() directement dans @keyframes glowPulse et sur la propriété border de .card-glow. Exemple pour un halo émeraude : remplacez rgba(99, 102, 241, ...) par rgba(16, 185, 129, ...) et rgba(139, 92, 246, ...) par rgba(5, 150, 105, ...). Il n'existe pas de variable CSS dédiée à la couleur dans la version de base — la modification directe des keyframes est volontaire pour garder le code minimal.
Oui : remplacez infinite par 1 dans la propriété animation de .card-glow — l'animation s'exécute une fois et s'arrête. Pour re-déclencher sur un événement (clic, validation de formulaire…), retirez la classe card-glow de l'élément, forcez un reflow via element.getBoundingClientRect(), puis réajoutez-la — le navigateur relance l'animation depuis le début.