Retour au blog

CSS Motion Path avec SVG : guide pratique pour le web moderne

Decouvrez comment utiliser CSS Motion Path avec des chemins SVG, offset-path, offset-distance, l'animation responsive, l'accessibilite et le workflow SVGView.

27 juil. 2026CSS Motion PathAnimation SVGoffset-pathSVGFrontendAccessibiliteSVGView

CSS Motion Path avec SVG

CSS Motion Path permet de faire avancer un element le long d'une forme definie. Pour les equipes qui travaillent avec des SVG, c'est pratique : une courbe, une route ou une ligne deja presente dans le design peut devenir une trajectoire d'animation dans le navigateur.

A retenir

  • offset-path definit la trajectoire.
  • offset-distance controle la progression sur cette trajectoire.
  • Les donnees de chemin SVG peuvent etre reutilisees dans CSS path().
  • Les mises en page responsives demandent des tests precis.
  • prefers-reduced-motion doit toujours etre pris en charge.

Exemple de base

.marker {
  offset-path: path("M20 120 C120 20 220 220 340 80");
  animation: travel 4s linear infinite;
}

@keyframes travel {
  to {
    offset-distance: 100%;
  }
}

La valeur de path() reprend la syntaxe SVG. Vous pouvez donc partir d'une route extraite d'une illustration, d'une carte ou d'un composant produit.

Cas d'usage utiles

CSS Motion Path fonctionne bien pour les visites guidees, les marqueurs sur une carte, les icones qui suivent une courbe, les indicateurs de progression et les visualisations de donnees. Avant de coder l'animation, isolez le chemin avec SVG Path Extractor, controlez le fichier dans SVG Viewer, puis allegez-le avec SVG Optimizer.

Modele HTML et CSS

<svg viewBox="0 0 360 160" aria-hidden="true">
  <path d="M20 120 C120 20 220 220 340 80" fill="none" stroke="currentColor" />
</svg>

<span class="dot" aria-label="Upload progress"></span>
.dot {
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: #14b8a6;
  offset-path: path("M20 120 C120 20 220 220 340 80");
  offset-distance: 0%;
  offset-rotate: auto;
  animation: move-dot 3200ms ease-in-out infinite;
}

@keyframes move-dot {
  to {
    offset-distance: 100%;
  }
}

offset-rotate: auto oriente l'element selon la direction du chemin. Gardez-le pour les fleches ou objets directionnels, pas pour les libelles.

Responsive et accessibilite

Un path() CSS ne se redimensionne pas automatiquement comme une viewBox SVG. Gardez une zone d'animation stable, alignez les coordonnees sur le design source et verifiez plusieurs tailles d'ecran.

@media (prefers-reduced-motion: reduce) {
  .dot {
    animation: none;
    offset-distance: 100%;
  }
}

Le mouvement doit guider le regard sans masquer le contenu. Evitez les boucles fortes sur les pages longues, ne cachez jamais un bouton ou un champ, et ne faites pas dependre la comprehension d'un etat uniquement de l'animation.

Workflow SVGView

  1. Ouvrir le fichier dans SVG Viewer et verifier la viewBox.
  2. Extraire la route avec SVG Path Extractor.
  3. Nettoyer les SVG externes avec SVG Sanitizer.
  4. Formater le balisage dans SVG Formatter.
  5. Optimiser avec SVG Optimizer, puis retester.

Conclusion

CSS Motion Path transforme un chemin SVG en mouvement d'interface lisible et maintenable. Choisissez une trajectoire simple, donnez un role clair a l'animation et validez l'experience avant la mise en ligne.

Articles connexes

Continuez à explorer les flux de travail SVG et les conseils de production.