Maison > interface Web > tutoriel CSS > Pourquoi mon animation de sous-élément SVG part-elle de la mauvaise origine ?

Pourquoi mon animation de sous-élément SVG part-elle de la mauvaise origine ?

Linda Hamilton
Libérer: 2024-10-28 03:00:01
original
794 Les gens l'ont consulté

 Why Does My SVG Sub-Element Animation Start From the Wrong Origin?

Problème d'origine de transformation CSS sur le sous-élément SVG

Lorsque vous travaillez avec des SVG, il peut être difficile de contrôler l'origine de transformation des sous-éléments éléments. Par défaut, les animations et transformations CSS utilisent l'origine globale du SVG (0,0), et non le centre de l'élément spécifique animé.

Comprendre le problème

Dans Dans l'exemple fourni, l'intention est de mettre à l'échelle le sous-élément "animated-box" à partir de son centre. Cependant, l'animation commence à partir de l'origine du SVG (0,0), donnant l'illusion que la boîte "vole par le haut à gauche".

Solution : Transformer la boîte

Pour définir l'origine de la transformation par rapport à l'élément animé, nous pouvons utiliser la propriété "transform-box":

<code class="css">transform-box: fill-box;</code>
Copier après la connexion

La valeur "fill-box" indique au navigateur d'utiliser le sous-élément boîte englobante (la zone qu’elle remplit) comme origine de la transformation. Cela garantit que l'animation s'adapte à partir du centre de « animated-box » comme prévu.

Exemple mis à jour

Application de la propriété transform-box à notre exemple :

<code class="css">@keyframes scaleBox {
  from {transform: scale(0);}
  to {transform: scale(1);}
}
#animated-box {
  transform-box: fill-box;
  animation: scaleBox 2s infinite;
}</code>
Copier après la connexion
<code class="html"><svg ...>
  ...
  <rect id="animated-box" ...>
  ...
</svg></code>
Copier après la connexion

Désormais, la « boîte animée » évolue à partir de son centre, créant une animation plus fluide et plus précise.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal