Navigation✨ Premium

Breadcrumb Animated

Fil d'Ariane CSS pur : les chevrons SVG pulsent à l'opacité et glissent de 3 px quand l'item précédent est survolé — keyframe chevronPulse + sélecteur adjacent, zéro JS.

CSSBreadcrumb

Vous aurez accès à la démo interactive avec un compte gratuit.

Cet effet fait partie d'Effect.Labs — 811 effets vanilla, une partie gratuite, une partie premium. Navigation comprend 36 effets, dont 4 gratuits. Découvrir la catégorie →

3 exemples d'usage

Fiche produit e-commerce — Breadcrumb de catégorie — Breadcrumb Animated exemple 1

① Fiche produit e-commerce — Breadcrumb de catégorie

QuandEn haut d'une page produit ou d'une liste filtrée, quand l'utilisateur a navigué à travers plusieurs niveaux de catégorie.
PourquoiLa pulsation des chevrons au survol attire naturellement l'œil vers la structure sans perturber le contenu de la fiche — l'utilisateur comprend qu'il peut remonter d'un clic.
Réglages3 niveaux (Accueil > Vêtements > T-shirts > article courant). Couleur accent remplacée par la primaire brand ; `--radius-sm: 0.25rem` pour un style plus carré.
Portail de documentation — Navigation multi-niveaux — Breadcrumb Animated exemple 2

② Portail de documentation — Navigation multi-niveaux

QuandDans un site docs technique où les sections sont imbriquées (Guide > Référence API > Authentification > JWT), pour signaler à quelle profondeur on se trouve.
PourquoiLe glissement des chevrons rend la direction de navigation explicite sans ajouter de bouton Retour supplémentaire — le fil d'Ariane agit comme un repère de profondeur animé.
Réglages4 niveaux, font-family monospace hérité du site, `--text-secondary: #94a3b8`, couleur accent `#38bdf8` (bleu docs).
Interface d'administration — Localisation dans l'arborescence — Breadcrumb Animated exemple 3

③ Interface d'administration — Localisation dans l'arborescence

QuandDans un back-office ou un CMS quand l'éditeur navigue à travers des sections imbriquées (Dashboard > Projets > Sprint actif > Tâche).
PourquoiLa pulsation subtile des chevrons fournit un retour visuel actif sans clignoter ni détourner l'attention des formulaires et tableaux environnants.
Réglages3–4 niveaux, `--text-secondary: #64748b`, couleur accent `#8b5cf6` (violet admin brand), transition `0.2s` pour une réactivité plus directe.

Comment ça marche

L'effet est entièrement piloté par CSS, sans une seule ligne de JavaScript. Le <nav class="breadcrumb-animated"> sert de scope de déclenchement : dès qu'un pointeur entre dans le nav, la règle .breadcrumb-animated:hover .breadcrumb-chevron s'active et lance l'animation chevronPulse sur tous les chevrons simultanément.

@keyframes chevronPulse fait osciller l'opacité de 0,5 à 1 (50 % → 100 % → 50 %) en 1,5 s ease-in-out infini. Ce battement attire l'œil vers la structure hiérarchique sans distraire de la lecture — il s'arrête dès que le pointeur quitte le nav.

Le sélecteur adjacent .breadcrumb-item:hover + .breadcrumb-chevron ajoute un second niveau d'interaction : le chevron immédiatement après l'item survolé glisse de 3 px vers la droite (translateX(3px)) et prend la teinte indigo #6366f1, en synchronie avec le fond de survol de l'item. Cet effet « pousse » visuellement la progression dans la hiérarchie.

Les propriétés personnalisées CSS (--text-secondary, --text-primary, --text-muted, --radius-sm, --space-1, --space-2) permettent de s'aligner sur n'importe quel design system en surchargeant les variables sur :root ou directement sur le .breadcrumb-animated.

Accessibilité

  • <nav> est un élément landmark HTML5 reconnu nativement par les lecteurs d'écran — ajoutez aria-label="Fil d'Ariane" si la page contient plusieurs <nav>.
  • Aucun prefers-reduced-motion n'est implémenté : la pulsation chevronPulse et la transition de glissement s'exécutent quelle que soit la préférence système. À ajouter manuellement : @media (prefers-reduced-motion: reduce) { .breadcrumb-chevron { animation: none; transition: none } }.
  • L'item courant porte la classe .current mais pas d'attribut aria-current="page" — à ajouter pour que les lecteurs d'écran annoncent la page active.
  • Les items sont des <span> avec cursor: pointer mais sans rôle ni gestionnaire clavier : pour une navigation clavier complète, remplacez-les par des <a href="…">.
  • Contraste texte inactif #a1a1aa sur fond #0a0a0f : ratio ≈ 4,8:1 (WCAG AA ✓) ; item courant #ffffff : ratio ≈ 21:1 (WCAG AAA ✓).

Compatibilité navigateur

Nécessite les transitions CSS, les keyframes et les propriétés personnalisées — supportés dans tous les navigateurs modernes depuis 2018.

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

Sans support des propriétés CSS personnalisées (IE 11 et antérieurs), les items s'affichent en gris par défaut — la structure reste lisible, sans animation.

Le code

Structure HTML à coller dans votre page (CSS + JS disponibles avec un compte premium) :

index.html — structure
<nav class="breadcrumb-animated" aria-label="Fil d'Ariane">
  <span class="breadcrumb-item">Niveau 1</span>
  <span class="breadcrumb-chevron">
    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
      <path d="M9 18l6-6-6-6"></path>
    </svg>
  </span>
  <span class="breadcrumb-item">Niveau 2</span>
  <span class="breadcrumb-chevron">
    <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
      <path d="M9 18l6-6-6-6"></path>
    </svg>
  </span>
  <span class="breadcrumb-item current">Page courante</span>
</nav>
🔒 Débloquer le code complet — à partir de 2,99 € le 1er mois

HTML + CSS + JS complet, prêt à coller — avec des centaines d'effets premium.

Personnaliser

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

Option / propriétéDéfautEffet
--text-secondary #a1a1aa Couleur du texte des items inactifs. Remplacez par votre token `text-muted` ou `text-secondary` brand.
--text-primary #ffffff Couleur de l'item courant (classe `.current`). Adaptez à votre couleur de texte principale.
--text-muted #8b8b93 Couleur des chevrons au repos. Légèrement plus sombre que `--text-secondary` pour un contraste hiérarchique.
--radius-sm 0.375rem Arrondi du fond de survol des items. `0` pour un fond carré, `999px` pour des capsules pill.
--space-2 0.5rem Padding horizontal de chaque item. Augmentez à `0.75rem` pour des items plus aérés sur les larges écrans.
Couleur accent hover #6366f1 Teinte indigo appliquée au fond de survol et aux chevrons actifs. Remplacez les deux occurrences de `#6366f1` dans `.breadcrumb-item:hover` et `.breadcrumb-item:hover + .breadcrumb-chevron` par votre couleur primaire.
Durée pulsation 1.5s Vitesse du battement des chevrons dans `animation: 1.5s ease-in-out infinite`. `0.8s` pour une pulsation vive, `3s` pour un rythme très doux.
Décalage chevron 3px Distance du glissement vers la droite du chevron adjacent lors du survol de l'item. Modifiez `translateX(3px)` dans `.breadcrumb-item:hover + .breadcrumb-chevron`. `0` pour désactiver, `6px` pour un effet plus prononcé.

FAQ

Oui, entièrement. La pulsation et le glissement des chevrons sont pilotés par un @keyframes, des transitions CSS et le sélecteur adjacent +. Zéro dépendance, zéro JS à charger — compatible avec SSR, Astro, Hugo ou tout générateur statique sans client-side JS.
Insérez une paire <span class="breadcrumb-item">Niveau</span> + <span class="breadcrumb-chevron"><svg…></svg></span> avant l'item .current. Le sélecteur adjacent .breadcrumb-item:hover + .breadcrumb-chevron s'applique automatiquement au nouveau chevron.
Non, par défaut. L'animation chevronPulse et les transitions CSS s'exécutent même quand l'OS signale une préférence pour réduire le mouvement. Pour y remédier, ajoutez : @media (prefers-reduced-motion: reduce) { .breadcrumb-chevron { animation: none; transition: none } }.