La offset-anchor
propriété définit un point dans la boîte, elle est appliquée en tant qu'ancre qui se déplace le long du offset-path
.
C'est un peu verbeux, alors décomposons cela un peu.
Vous avez un élément, dites une boîte:
Voir la Pen Orange Box de Geoff Graham (@geoffgraham) sur CodePen.
Vous voulez que cette boîte se déplace le long d'un chemin, disons une ligne ondulée. Nous pouvons créer cette ligne avec SVG directement dans le HTML et l'utiliser comme offset-path
pour la boîte. Nous créons l'animation en utilisant la offset-distance
propriété:
Voir le Pen Orange Square sur Path par Geoff Graham (@geoffgraham) sur CodePen.
Bien bien. Mais que se passe-t-il si nous voulons que la boîte semble suspendue à la ligne? Vous savez, comme une personne qui glisse le long d'une tyrolienne.
C'est là offset-anchor
qu'intervient! Il marque un endroit sur l'élément et l'utilise pour positionner l'élément sur le chemin.
Voici un exemple où trois boîtes différentes sont attachées au même chemin à différents points d'ancrage:
Voir le Pen NMbEpy de Geoff Graham (@geoffgraham) sur CodePen.
Syntaxe
.box ( offset-anchor: (auto | ); )
Valeurs
auto
: Prend la valeuroffset-position
tant que cette valeur n'est pas égalementauto
et aussi longtemps queoffset-path
est défini surnone
.position
: Unité calculée à partir de la largeur et de la hauteur relatives du conteneur dans lequel il se trouve. Par exemple,
50% 50%
serait le point mort. Notez que les mots clés fonctionnent ici, tout commebackground-position
oùcenter center
renverrait le même résultat.: Une unité qui décale l'ancre du coin supérieur gauche de la boîte de l'élément.
Il convient de noter qu'il position
s'agit d'une propriété animable.
Prise en charge du navigateur
Les offset-*
propriétés sont toujours considérées comme une caractéristique expérimentale au moment de la rédaction de cet article. Si le manque actuel de prise en charge du navigateur vous fait hésiter à l'utiliser sur un projet, vous pouvez envisager d'utiliser GSAP pour ce niveau d'animation. Cela vous offrira le support de navigateur le plus large pour le moment.
Ces données de support de navigateur proviennent de Caniuse, qui contient plus de détails. Un nombre indique que le navigateur prend en charge la fonctionnalité dans cette version et plus.
Bureau
Chrome | Firefox | C'EST À DIRE | Bord | Safari |
---|---|---|---|---|
46 | 72 | Non | 79 | Non |
Mobile / tablette
Chrome Android | Android Firefox | Android | Safari sur iOS |
---|---|---|---|
88 | 85 | 81 | Non |
Depuis Chrome 46 et Opera 33 (et les versions mobiles associées), nous avons un «support initial» dans Blink (pas d'indicateur).
Information additionnelle
- Spécifications du module de trajectoire de mouvement niveau 1
- Billet WebKit # 139128
- Billet Mozilla # 1186329
- Demande de fonctionnalité Microsoft Edge