Galerie✨ Premium

Gradient Fade

Des mots en dégradé indigo-magenta glissent vers la gauche et s'effacent en douceur aux deux bords, sur n'importe quel fond, clair comme sombre.

CSSGradient

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

Slogan d'un studio d'enregistrement — entre le contenu et le pied de page — Gradient Fade exemple 1

① Slogan d'un studio d'enregistrement — entre le contenu et le pied de page

QuandSous les trois salles du Studio Arquelle (live, mix, cabine voix), une bande de 26 px en gras fait passer « Enregistrer. Mixer. Masteriser. » au-dessus des colonnes du pied de page : adresse, liens, bouton « Réserver une session ».
PourquoiLa bande marque la fin de la page sans trait sec : les mots naissent et meurent dans le noir grâce au fondu, et le dégradé violet rappelle l'éclairage de la salle B.
Réglagesdata-speed="45", --gfmq-size: 26px, --gfmq-space: 44px, --gfmq-fade: 70px, --gfmq-bg: transparent, --gfmq-height: auto ; couleurs du dégradé par défaut.
Domaines d'une illustratrice — sous son nom, sur fond crème — Gradient Fade exemple 2

② Domaines d'une illustratrice — sous son nom, sur fond crème

QuandEn haut du portfolio d'Odile Marquesse, une bande de 330 px sous son nom en grand fait passer ses domaines en petites capitales (livres jeunesse, affiches, cartographie, linogravure, presse), au-dessus de la grille de ses images.
PourquoiLe fond est clair : c'est là que l'ancienne version échouait. Le masque fond les mots dans le crème sans rectangle sombre, et le dégradé brique-rouille reprend l'italique du nom.
Réglagesdata-speed="28", --gfmq-color: #7c2d12, --gfmq-to: #c2410c, --gfmq-size: 13px, --gfmq-space: 26px, --gfmq-fade: 36px, --gfmq-button: #7c2d12, --gfmq-button-size: 22px, largeur 330 px.
Rayons d'une librairie indépendante — une bande de liens en dégradé sous le haut de page — Gradient Fade exemple 3

③ Rayons d'une librairie indépendante — une bande de liens en dégradé sous le haut de page

QuandSur l'accueil de la librairie Volubrine, sous l'accroche et le coup de cœur de la semaine, les huit rayons (romans, polars, bande dessinée, jeunesse, poésie…) passent en italiques de 38 px, d'encre bleue à prune ; chaque rayon est un lien vers sa page.
PourquoiLa bande sert de menu de découverte : elle montre l'étendue du fonds en une ligne, la souris posée l'arrête pour cliquer, et le fondu des bords fait entrer et sortir les mots sans coupure nette sur le papier crème. Au clavier, Tab parcourt les huit liens, bande immobile.
Réglagesdata-speed="55", --gfmq-color: #1e3a8a, --gfmq-to: #7e22ce, --gfmq-size: 38px, --gfmq-space: 36px, --gfmq-fade: 60px, --gfmq-button: #1e3a8a, --gfmq-button-size: 24px, --gfmq-bg: transparent, --gfmq-height: auto ; un <a href> dans chaque <li>, italique à empattements posé par la feuille de la page.

Comment ça marche

Le fondu des bords est un masque posé sur .gfmq-viewport : mask-image rend la bande transparente sur les 100 premiers et les 100 derniers pixels (--gfmq-fade). C'est la page derrière qui apparaît, quelle qu'elle soit. L'ancienne version peignait deux voiles de la couleur #0a0a0f par-dessus le texte ; sur un fond blanc ou une photo, ils formaient deux rectangles sombres.

Le dégradé est peint dans les lettres avec background-clip: text, sur chaque liste : il part de --gfmq-color au début de la liste et arrive à --gfmq-to à sa fin. Comme le script recopie la liste entière, chaque double porte exactement le même dégradé et le passage d'un double à l'autre ne se remarque pas.

Le nombre de doubles est calculé d'après la largeur réelle de la bande, ce qui supprime le vide qui s'ouvrait à droite au-delà de 1 000 px environ. Le défilement avance à 65 px par seconde (data-speed), s'arrête sous la souris et se fige avec le bouton Pause placé au bout de la bande, hors du fondu.

Accessibilité

  • Arrêt du mouvement : survol de la bande, ou bouton Pause (aria-pressed) utilisable au clic, au doigt et au clavier — le mouvement dure plus de 5 secondes, WCAG 2.2.2 l'exige.
  • Texte réel : les mots sont du texte HTML, sélectionnable et lu par les lecteurs d'écran ; seuls les doubles, marqués aria-hidden="true", sont ignorés. Avant réparation, chaque mot était annoncé deux fois.
  • Lisibilité : sur #0a0a0f, l'indigo de départ atteint 4,4:1 et le magenta 5,7:1. Dans les zones fondues, le texte devient volontairement pâle : ne placez pas d'information indispensable seulement là, elle reste lisible au centre.
  • Mouvement réduit : avec prefers-reduced-motion: reduce, la bande s'arrête sur la liste d'origine, garde son dégradé et ses bords fondus, et se fait défiler à la main ; quand elle dépasse, elle reçoit aussi le focus au clavier (Tab) et se fait défiler aux flèches.
  • Focus : un lien dans la bande, atteint au clavier, immobilise la bande au début et l'amène en vue ; les liens des doubles sont sautés (tabindex="-1").

Compatibilité navigateur

Masque CSS (mask-image, avec sa forme -webkit- pour Chrome avant 120 et Safari avant 15.4), texte en dégradé (background-clip: text, avec -webkit-background-clip), animation CSS et 4,5 Ko de JavaScript commenté. Mesuré dans Chromium 151, Firefox 153 et WebKit 26.5, sur fond sombre et sur fond blanc : bords fondus sans bande sombre, aucun vide à 1 900 px, 0 erreur.

Chrome 74+✓ Complet (mesuré)
Firefox 69+✓ Complet (mesuré)
Safari 13.1+✓ Complet (moteur WebKit mesuré)
Edge 79+✓ Complet (moteur Chromium)
Mobile iOS 13.4+✓ Complet (moteur WebKit mesuré)
Android Chrome 74+✓ Complet (moteur Chromium)

Sans masque CSS, les bords sont nets. Sans background-clip: text, les mots s'affichent en --gfmq-color uni (la couleur de texte reste déclarée). Sans JavaScript, les mots sont immobiles et défilables à la main.

Le code

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

index.html — structure
<div class="fx-0193-root" data-speed="65" data-direction="left">
  <div class="gfmq-band">
    <div class="gfmq-viewport">
      <div class="gfmq-track">
        <ul class="gfmq-group" role="list">
          <li>Votre slogan</li>
          <li>Deuxième message</li>
        </ul>
      </div>
    </div>
    <button type="button" class="gfmq-toggle" aria-pressed="false" aria-label="Pause"></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
Messages (HTML — <li> de .gfmq-group) 4 messages Écrits une fois ; le script ajoute les doubles.
--gfmq-color → --gfmq-to #6366f1 → #d946ef Début et fin du dégradé. Sur fond clair, prenez deux teintes foncées.
--gfmq-fade 100px Largeur de chaque bord fondu. 0 pour des bords nets.
data-speed / data-direction 65 / left Pixels par seconde et sens (right pour l'inverse).
--gfmq-size / --gfmq-space 1.5rem / 4rem Taille des mots et écart entre deux messages.
--gfmq-height / --gfmq-bg / --gfmq-padding 180px / #0a0a0f / 1rem 0 Cadre de démonstration ; auto, transparent, 0 dans une page.
--gfmq-button / --gfmq-button-size rgba(255, 255, 255, .8) / 2rem Teinte et diamètre du bouton Pause.

FAQ

Oui. Le masque ne peint rien : il rend la bande transparente sur ses bords, donc l'image de fond se voit à travers, quelle qu'elle soit. Seule condition : la bande ne doit pas avoir de fond opaque (--gfmq-bg: transparent).
Il est peint sur chaque liste, original et doubles. C'est ce qui rend le raccord invisible : un dégradé continu sur toute la piste changerait de couleur à chaque tour et sauterait au moment de la boucle.
Oui, en remplaçant la règle du masque de .gfmq-viewport par un dégradé à un seul bord, par exemple linear-gradient(to right, transparent, #000 var(--gfmq-fade)) pour ne fondre que la gauche.