offset-anchor

Experimental: 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é CSS offset-anchor définit le point, à l'intérieur d'une boîte d'un élément, qui se déplace le long d'un chemin offset-path.

Syntaxe

/* Valeurs avec un movalues */
offset-anchor: top;
offset-anchor: bottom;
offset-anchor: left;
offset-anchor: right;
offset-anchor: center;
offset-anchor: auto;

/* Valeurs de pourcentages */
/* Type <percentage> */
offset-anchor: 25% 75%;

/* Valeurs de longueur */
/* Type <length> */
offset-anchor: 0 0;
offset-anchor: 1cm 2cm;
offset-anchor: 10ch 8em;

/* Valeurs de décalage relatives à un bord */
offset-anchor: bottom 10px right 20px;
offset-anchor: right 3em bottom 10px;

/* Valeurs globales */
offset-anchor: inherit;
offset-anchor: initial;
offset-anchor: unset;

Valeurs

auto

offset-anchor reçoit la même valeur que transform-origin sauf si offset-path vaut none, dans ce cas, elle récupère la valeur de offset-position.

<position>

Une position (<position>) définie par un couple de coordonnées X/Y qui permet de placer un objet par rapport aux bords de sa boîte. On peut définir la position à partir de une à quatre valeurs. Pour plus d'informations, voir les pages sur <position> et background-position. La syntaxe à trois valeurs ne fonctionne pas pour <position>, excepté pour background(-position).

Syntaxe formelle

auto | <position>


<position> = [ [ left | center | right ] || [ top | center | bottom ] | [ left | center | right | <length-percentage> ] [ top | center | bottom | <length-percentage> ]? | [ [ left | right ] <length-percentage> ] && [ [ top | bottom ] <length-percentage> ] ]


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

Exemples

Dans l'exemple suivant, on dispose de trois éléments <div> imbriqués chacun dans un élément <section>. Chaque <div> se déplace sur le même chemin offset-path (une ligne horizontale mesurant 200 pixels). Les trois blocs possèdent une couleur (background-color) et une valeur offset-anchor différentes.

Chaque élément <section> a été mise en forme avec un dégradé linéaire afin de fournir une indication visuelle du chemin.

On peut voir que la première valeur, auto, déplace l'élément sur son centre. La deuxième et la troisième déplacent le <div> par le coin supérieur droit et le coin inférieur gauche respectivement.

HTML

<section>
  <div class="offset-anchor1"></div>
</section>
<section>
  <div class="offset-anchor2"></div>
</section>
<section>
  <div class="offset-anchor3"></div>
</section>

CSS

div {
  offset-path: path('M 0,20 L 200,20');
  animation: move 3000ms infinite alternate ease-in-out;
  width: 40px;
  height: 40px;
}

section {
  background-image: linear-gradient(to bottom, transparent, transparent 49%, #000 50%, #000 51%, transparent 52%);
  border: 1px solid #ccc;
  margin-bottom: 10px;
}

.offset-anchor1 {
  offset-anchor: auto;
  background: cyan;
}

.offset-anchor2 {
  offset-anchor: right top;
  background: purple;
}

.offset-anchor3 {
  offset-anchor: left bottom;
  background: magenta;
}

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

Résultat

Spécifications

Spécification État Commentaires
Motion Path Module Level 1
La définition de 'offset-anchor' dans cette spécification.
Version de travail Définition initiale.
Valeur initialeauto
Applicabilitééléments transformables
Héritéenon
PourcentagesrelativeToWidthAndHeight
Valeur calculéepour une valeur de type length sa valeur absolue, sinon un pourcentage
Type d'animationune position

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi