offset-distance

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2022.

Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.

La propriété offset-distance définit une position le long d'un chemin offset-path.

Syntaxe

css
/* Valeur par défaut */
offset-distance: 0;

/* La position à la moitié de offset-path */
offset-distance: 50%;

/* Une position absolue le long du chemin */
offset-distance: 40px;
<length-percentage>

Une longueur qui définit l'emplacement de l'élément le long du chemin (défini par offset-path). La valeur 100% représente la longueur totale du chemin (lorsque offset-path est défini par une forme simple ou grâce à la fonction path()).

Syntaxe formelle

offset-distance = 
<length-percentage>

<length-percentage> =
<length> |
<percentage>

Exemples

Animation

La notion de mouvement contenue dans CSS Motion Path vient principalement de la propriété offset-distance. Si on souhaite animer un élément le long du chemin, on définira un chemin avec offset-path et on utilisera une animation qui fera évoluer offset-distance de 0% à 100%.

HTML

html
<div id="motion-demo"></div>

CSS

css
#motion-demo {
  offset-path: path("M20,20 C20,100 200,0 200,100");
  animation: move 3000ms infinite alternate ease-in-out;
  width: 40px;
  height: 40px;
  background: cyan;
}

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

Résultat

Spécifications

Specification
Motion Path Module Level 1
# offset-distance-property

Compatibilité des navigateurs