Galerie✨ Premium

Fade Slider

Diaporama en fondu : l'image affichée s'efface pendant que la suivante apparaît au même endroit, sans aucun déplacement. Flèches, clavier et doigt.

CSSOpacityFade

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

Un salon sous trois éclairages — fiche produit d'un fabricant de lampadaires — Fade Slider exemple 1

① Un salon sous trois éclairages — fiche produit d'un fabricant de lampadaires

QuandSur la fiche du lampadaire, le visiteur clique sur › pour voir la même pièce le matin, en soirée puis éclairée pour lire ; la pastille d'ambiance et la phrase sous le prix suivent l'image.
PourquoiLes trois photos ont exactement le même cadrage : avec un fondu, seul ce qui change bouge à l'écran, la lumière. Un glissement latéral ferait défiler le canapé et le mur, et l'œil perdrait la différence qu'on veut montrer.
RéglagesCadre de 300 px de large calé sur la colonne : --fdsl-width:100%, --fdsl-height:100%, --fdsl-radius:14px, flèches foncées --fdsl-arrow-bg:rgba(30,26,22,.38), cadre sans fond ni marge. Photos en <img>. Dans la capture, le script de la scène clique sur › toutes les 1,5 s.
Prévisions à cinq jours — petit widget du tableau de bord d'un chantier — Fade Slider exemple 2

② Prévisions à cinq jours — petit widget du tableau de bord d'un chantier

QuandLe conducteur de travaux feuillette les jours dans la tuile météo, à côté de la liste des tâches ; le bandeau sous le widget passe de « Coulage possible » à « Coulage déconseillé : pluie » selon le jour affiché.
PourquoiDans une tuile de 176 px, un glissement ferait sortir le pictogramme par le bord ; le fondu remplace un jour par le suivant sans bouger la mise en page, comme un afficheur. Le conseil lu sous le widget dépend du jour visible, donc de l'état du diaporama.
Réglages--fdsl-height:160px, --fdsl-ratio:auto, --fdsl-radius:10px, fond bleu nuit posé par la page, diapositives transparentes, flèches de 26 px déplacées en haut par le CSS de la scène. Chaque diapositive contient un pictogramme <img> et du texte. Capture : clic sur › toutes les 1,3 s.
Récit d'une course au large sur mobile — un chapitre par écran — Fade Slider exemple 3

③ Récit d'une course au large sur mobile — un chapitre par écran

QuandLe lecteur fait glisser son doigt vers la gauche sur la photo : le départ à l'aube se fond dans le grain, puis dans la nuit et l'arrivée ; les barres en haut de l'écran et la liste des chapitres avancent avec lui.
PourquoiSur un téléphone, le geste attendu dans un récit en écrans est le balayage. Le fondu donne un rythme de diaporama photo plutôt que de liste : chaque chapitre remplace le précédent en entier, titre compris.
RéglagesÉcran plein : --fdsl-height:100%, --fdsl-radius:21px, aucune flèche dans le HTML : sur téléphone le glisser suffit (sans flèche, rien ne reçoit le focus : pour garder les touches ← →, ajoutez tabindex="0" au cadre .fdsl-carousel), légende déplacée en bas à gauche. Dans la capture, la scène envoie au vrai code un pointerdown puis un pointerup 120 px plus à gauche ; le rond blanc montre le geste.

Comment ça marche

Ici rien ne glisse : les diapositives .fdsl-slide sont empilées les unes sur les autres (position: absolute; inset: 0) dans .fdsl-track. Une seule porte la classe is-active ; elle passe à l'opacité 1 tandis que les autres retombent à 0, avec une transition de 0,6 s. Pendant ce temps, les deux images se mélangent, ce qui convient aux vues prises au même cadrage.

Le script déplace is-active d'une diapositive à l'autre. Il réagit au clic sur .fdsl-prev et .fdsl-next, aux touches ← et → quand le focus est dans le diaporama, et à un glisser horizontal de plus de 50 px (Pointer Events, doigt ou souris). Après la dernière image vient la première, et inversement. Le diaporama reste immobile tant que personne n'agit.

Pour démarrer ailleurs que sur la première image, mettez is-active sur une autre diapositive dans le HTML : le script la reprend au chargement. Vos photos se posent en <img> dans la diapositive (recadrage object-fit: cover) ; une légende .fdsl-caption facultative s'affiche au centre. Le cadre prend la largeur disponible jusqu'à 640 px, au format 16/10.

Plusieurs diaporamas sur une page fonctionnent chacun de leur côté : le script s'attache à chaque .fdsl-carousel, ne crée rien sur window et ignore un bloc déjà préparé (data-fdsl-ready) s'il est exécuté une seconde fois.

Accessibilité

  • Structure annoncée : role="region", aria-roledescription="carrousel" et un aria-label sur le cadre ; chaque image devient un groupe « diapositive » nommé « 3 sur 5 ».
  • Images invisibles neutralisées : les diapositives à l'opacité 0 portent inert, aria-hidden et pointer-events: none ; un lien sur une photo masquée ne peut être ni cliqué ni atteint au clavier.
  • Lecteurs d'écran : chaque changement est dit une fois par une zone aria-live="polite" invisible (« diapositive 2 sur 5 »).
  • Commandes : boutons natifs aux libellés « Diapositive précédente » et « Diapositive suivante », anneau de focus blanc, touches ← et →.
  • Mouvement réduit : avec prefers-reduced-motion: reduce, l'image change d'un coup, sans fondu ; la navigation reste entière.

Compatibilité navigateur

Moins de 4 Ko de JavaScript, sans bibliothèque. Mesures du 08/11/2026 (Playwright : Chromium, Firefox, WebKit) : deux diaporamas côte à côte qui ne se répondent pas, code collé deux fois sans double branchement, Tab puis Entrée, flèches du clavier, glisser au doigt à 390 px dans Chromium et à la souris ailleurs, mouvement réduit, zéro erreur. Planchers issus de @mdn/browser-compat-data 8.1.8, fixés par l'attribut inert.

Chrome 102+✓ Complet (mesuré)
Firefox 112+✓ Complet (mesuré)
Safari 15.5+✓ Complet (mesuré dans WebKit)
Edge 102+✓ Complet (moteur Chromium)
iOS Safari 15.5+✓ Non vérifié sur appareil réel
Android Chrome 102+✓ Complet (moteur Chromium)

Sans inert (navigateurs plus anciens), le fondu marche, mais le contenu d'une image masquée peut encore recevoir le focus. Safari 14 n'a pas aspect-ratio : fixez la hauteur avec --fdsl-height. JavaScript coupé : seule la diapositive is-active du HTML est visible.

Le code

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

index.html — structure
<div class="fx-0162-root">
  <div class="fdsl-carousel" role="region" aria-roledescription="carrousel" aria-label="Diaporama" data-slide="diapositive" data-of="sur">
    <div class="fdsl-track">
      <div class="fdsl-slide is-active"><span class="fdsl-caption">Slide 1</span></div>
      <div class="fdsl-slide"><span class="fdsl-caption">Slide 2</span></div>
      <!-- … une div.fdsl-slide par image (img facultative) -->
    </div>
    <button type="button" class="fdsl-arrow fdsl-prev" aria-label="Diapositive précédente"><svg>…</svg></button>
    <button type="button" class="fdsl-arrow fdsl-next" aria-label="Diapositive suivante"><svg>…</svg></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
Durée du fondu (CSS — --fdsl-duration sur .fx-0162-root) 0.6s 1s ou plus donne un fondu enchaîné de diaporama ; 0.3s un changement vif.
Largeur et format (CSS — --fdsl-width, --fdsl-ratio) 640px · 16 / 10 Largeur maximale du cadre et rapport largeur/hauteur. 1 / 1 pour des visuels carrés.
Hauteur imposée (CSS — --fdsl-height) auto Une hauteur fixe (160px) ou 100% du parent remplace le calcul par le format.
Image de départ (HTML — classe is-active) première diapositive Placez is-active sur la diapositive à montrer au chargement.
Fond des flèches et arrondi (CSS — --fdsl-arrow-bg, --fdsl-radius) blanc à 20 % · 1rem Sur des images claires, un fond sombre (rgba(0,0,0,.4)) garde les chevrons lisibles.
Zone d'exposition (CSS — --fdsl-stage-bg, --fdsl-stage-padding, --fdsl-stage-min-height) #0a0a0f · 25px 16px · 300px Fond sombre et marge de la démonstration ; mettez transparent, 0, 0 dans une vraie page.
Annonce vocale (HTML — data-slide, data-of, aria-label) diapositive · sur · Diaporama Mots utilisés pour « diapositive 2 sur 5 » et nom du diaporama ; traduisez-les pour une page en anglais.

FAQ

Les deux opacités changent en même temps : à mi-parcours, l'ancienne est à 50 % et la nouvelle aussi, et le fond du cadre (#12121a) transparaît un peu. Donnez au cadre .fdsl-carousel un fond proche de vos images, ou réduisez la durée avec --fdsl-duration.
Non, chacune est recadrée par object-fit: cover pour remplir le cadre. Le fondu est simplement plus beau entre des photos de même cadrage (un lieu à plusieurs heures, un produit sous plusieurs couleurs), car rien d'autre ne bouge que ce qui change.
Oui. Seule la diapositive affichée reçoit les clics : les autres sont en pointer-events: none et inert, donc un bouton posé sur une image masquée ne peut pas être déclenché par erreur à travers celle du dessus.