Propriété CSS offset-path

La propriété CSS offset-path CSS est utilisée pour spécifier un tracé d'un mouvement auquel l'élément suit et sur lequel il est positionné.

La position du tracé est déterminée par la propriété offset-distance.

Dans les plus anciennes version de la spécification, le nom de offset-path était ''motion-path''.

La propriété offset-path n'est pas animée, elle définit juste le tracé pour l'animation.
La propriété offset est une technologie expérimentale.
Valeur initiale none
Appliquée à Éléments transformables.
Héritée Non.
Animable Oui.
Version Motion Path Module Level 1
Syntaxe DOM object.style.offsetPath = "ray()";

Syntaxe

offset-path: none | ray() | path() | <url> | <basic-shape>;

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre du document</title>
    <style>
      body{
      background-color: #ccc;
      }
      .mover {
      width: 70px;
      height: 70px;
      background: linear-gradient(#8ebf42 50%,#1c87c9 50%);
      position: absolute;
      left: 30%;
      top: 100px;
      offset-path: path("M18.45,58.46s52.87-70.07,101.25-.75,101.75-6.23,101.75-6.23S246.38,5.59,165.33,9.08s-15,71.57-94.51,74.56S18.45,58.46,18.45,58.46Z");
      offset-rotate: reverse;
      animation: move 3s linear infinite;
      }
      @keyframes move {
      100% { 
      offset-distance: 100%;
      }
      }
    </style>
  <body>
    <h2>Exemple de la propriété offset-path</h2>
    <div class="mover"></div>
  </body>
</html>

Un autre exemple avec la propriété offset-path:

Exemple

<!DOCTYPE html>
<html>
  <head>
    <title>Titre du document</title>
    <style>
      body{
      background-color: #666;
      }
      .item {
      width: 100px;
      height: 40px;
      offset-position: 0% 0%;
      offset-path: path('m 100 50 h 150 v 150');
      }
      #box1 {
      background-color: #8ebf42;
      offset-distance: -280%;
      }
      #box2 {
      background-color: #1c87c9;
      offset-distance: 190%;
      }
    </style>
  <body>
    <div class="item" id="box1"></div>
    <div class="item" id="box2"></div>
  </body>
</html>

Valeurs

Valeur Description
none Aucun chemin de mouvement n'est spécifié. C'est la valeur initiale de cette propriété.
ray() Un segment de ligne qui commence à la position de la boîte et suit la direction de l'angle indiqué.
url() Fait référence à l'identifiant d'un élément SVG à être utilisé en tant qu'un chemin de mouvement.
<basic-shape> Spécifie une forme qui comprend: circle(), ellipse(), inset(), polygon(), ou path().
initial Fait utiliser la valeur initiale.
inherit Hérite la propriété de son élément parent.

Support de Navigateurs

chrome edge firefox safari opera
55.0+ 63.0+ 45.0+

Pratiquez vos connaissances

Qu'est-ce que l'offset-path en CSS ?
Trouvez-vous cela utile?