"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Art de l’animation SVG | Techniques que tout développeur d'interface utilisateur devrait maîtriser

Art de l’animation SVG | Techniques que tout développeur d'interface utilisateur devrait maîtriser

Publié le 2024-08-22
Parcourir:262

Art of SVG Animation | Techniques Every UI Developer Should Master

Les SVG (Scalable Vector Graphics) offrent un moyen moderne d'améliorer les interfaces Web et d'application avec des graphiques évolutifs de haute qualité. Contrairement aux graphiques bitmap traditionnels, les SVG sont constitués de données vectorielles, ce qui signifie qu'ils peuvent s'adapter à n'importe quelle taille sans perte de qualité. Cette évolutivité rend les SVG extrêmement populaires parmi les développeurs d'interface utilisateur qui cherchent à créer des conceptions dynamiques, réactives et visuellement attrayantes.

Dans cet article de blog, nous plongerons en profondeur dans le monde des animations SVG. Que vous soyez un débutant souhaitant explorer ce domaine passionnant ou un développeur expérimenté souhaitant affiner vos compétences, ce guide vous guidera à travers dix méthodes différentes pour animer des SVG avec des exemples de code pratiques. À la fin, vous serez prêt à mettre en œuvre ces techniques dans vos projets, élevant ainsi vos conceptions d'interface utilisateur au niveau supérieur.

Pourquoi animer des SVG ?

Avant de passer aux méthodes spécifiques, il convient de comprendre pourquoi les animations SVG sont si bénéfiques :

Indépendance de la résolution : les SVG semblent nets quelle que soit la densité de l'écran, ce qui est crucial pour prendre en charge diverses résolutions d'appareils.

Petites tailles de fichiers : par rapport à de nombreux formats bitmap, les fichiers SVG ont généralement des tailles de fichier plus petites, en particulier lorsque les animations impliquent des formes géométriques simples et des couleurs limitées.

Manipulabilité : les SVG peuvent être manipulés via CSS et JavaScript, offrant une flexibilité dans la façon dont les animations sont implémentées et contrôlées.

Accessibilité : le texte à l'intérieur des SVG reste sélectionnable et consultable, améliorant ainsi la convivialité et l'accessibilité.


Méthode 1 : transitions CSS

L'un des moyens les plus simples de commencer à animer un SVG consiste à utiliser des transitions CSS. Les transitions CSS vous permettent de modifier les propriétés SVG en douceur sur une durée spécifiée.

Exemple : Faire tourner un engrenage

Imaginez que vous ayez un SVG d'un engrenage. Vous voulez que cet engrenage tourne en continu pour signifier un processus ou un état de chargement.


  

#gear {
  transition: transform 2s linear infinite;
}

#gear:hover {
  transform: rotate(360deg);
}

Dans le CSS, nous spécifions que la propriété transform de l'engrenage doit effectuer une transition linéaire et infinie sur deux secondes. Lorsqu'un utilisateur survole l'engrenage, celui-ci pivote à 360 degrés.


Méthode 2 : images clés CSS

Pour des animations plus complexes, les images clés CSS offrent le contrôle dont vous avez besoin. Les images clés vous permettent de définir les valeurs des propriétés à différentes étapes de l'animation.

Exemple : Cercle pulsé

Animons un cercle qui palpite, grandit et rétrécit continuellement.


  

@keyframes pulse {
  0%, 100% {
    r: 30;
  }
  50% {
    r: 40;
  }
}
circle {
  animation: pulse 2s infinite;
}

Ici, @keyframes définit une animation d'impulsion où le rayon (r) du cercle change.


Méthode 3 : Animations SVG SMIL

SMIL (Synchronized Multimedia Integration Language) est un langage basé sur XML qui permet des animations complexes directement dans des fichiers SVG.

Exemple : Se déplacer le long du chemin

Imaginez animer un objet pour qu'il se déplace le long d'un chemin prédéfini.


  
  
    
  

Le cercle se déplace le long de la courbe définie par path, grâce à l'élément animateMotion.


Méthode 4 : bibliothèques JavaScript (GreenSock)

De nombreuses bibliothèques JavaScript, comme GreenSock (GSAP), facilitent les animations SVG complexes. GSAP est très performant et fonctionne sur tous les principaux navigateurs.

Exemple : Balle rebondissante

Voici comment créer une animation de balle rebondissante à l'aide de GSAP :


  

gsap.to("#ball", {
  y: 60,
  duration: 1,
  ease: "bounce.out",
  repeat: -1,
  yoyo: true
});

La balle rebondit continuellement avec un effet yoyo qui la fait bouger d'avant en arrière.


Méthode 5 : variables JavaScript et CSS

L'utilisation de JavaScript avec des variables CSS (propriétés personnalisées) peut rendre les animations SVG réactives aux interactions de l'utilisateur ou à d'autres conditions dynamiques.

Exemple : Changement de couleur

Supposons que vous souhaitiez que la couleur de remplissage d'un élément SVG change en fonction de la position du curseur.


  

document.addEventListener("mousemove", function(e) {
  const color = e.clientX > window.innerWidth / 2 ? 'red' : 'blue';
  document.documentElement.style.setProperty('--color', color);
});

Ici, la couleur du cercle change à mesure que la souris se déplace horizontalement sur l'écran.


Méthode 6 : Filtres SVG pour l'animation

Les filtres SVG sont des outils puissants pour appliquer des effets visuels complexes aux éléments SVG via des animations.

Exemple : Effet de flou

Un effet de flou animé peut créer une impression de mouvement ou de changement.


  
    
      
    
  
  


@keyframes blur {
  from {
    stdDeviation: 0;
  }
  to {
    stdDeviation: 5;
  }
}
circle {
  animation: blur 8s infinite alternate;
}

Dans cette animation, le cercle s'estompe et s'efface en douceur, attirant l'attention tout en fournissant un effet visuel dynamique.


Exemple : Révéler un texte

Le texte peut être progressivement révélé à l'aide d'un chemin de détourage animé.


  
    
      
    
  
  Hello!

@keyframes reveal {
  from {
    width: 0;
  }
  to {
    width: 100;
  }
}
rect {
  animation: reveal 5s forwards;
}

Le texte Bonjour ! se révèle progressivement de gauche à droite.


Méthode 8 : Morphing de formes

Le morphing de forme peut être réalisé à l'aide de plusieurs bibliothèques et fonctionnalités SVG natives, créant des transitions transparentes entre différentes formes.

Exemple : Transformation du cœur en cercle

Un exemple courant consiste à transformer une forme de cœur en cercle.


  

/* Add keyframes for morphing */

À l'aide de bibliothèques comme Flubber ou même CSS, l'attribut "d" des chemins est interpolé entre les formes de cœur et de cercle.


Méthode 9 : Dégradés animés

Les dégradés en SVG peuvent également être animés, ce qui est utile pour les arrière-plans vibrants ou les éléments accrocheurs.

Exemple : Animation d'arrière-plan dégradé

Un dégradé radial animé qui change les couleurs peut servir d'arrière-plan dynamique.


  
    
  

Le remplissage de ce rectangle passe en douceur sur un spectre de couleurs, créant un effet d'arrière-plan animé.


Exemple : changement de couleur interactif

Une interaction simple où le SVG change de couleur au clic.


  

changement de fonction ÉNORME base de données avec des exemples de codes, basée sur la narration
et un panneau basé sur un abonnement. TEXTE DU BOUTON ICI JavaScript.

document.querySelector('svg').addEventListener('click', function() {
  this.querySelector('circle').setAttribute('fill', 'pink');
});

En cliquant sur le SVG, la couleur de remplissage du cercle passe au rose, démontrant une animation interactive simple.

Conclusion

Les animations SVG ouvrent un large éventail de possibilités pour rendre vos interfaces utilisateur plus attrayantes et plus attrayantes. Des simples transitions CSS aux animations interactives basées sur JavaScript, chaque méthode offre des avantages et des fonctionnalités uniques. Expérimenter diverses techniques et comprendre leurs implications sur les performances et la compatibilité du navigateur est essentiel pour maîtriser les animations SVG. Qu'il s'agisse d'améliorer l'expérience utilisateur ou simplement d'ajouter une touche visuelle, ces dix méthodes constituent une base solide pour tout développeur d'interface utilisateur souhaitant se plonger dans le monde des animations SVG.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/nnnirajn/art-of-svg-animation-10-techniques-every-ui-developer-should-master-3bkh?1 En cas de violation, veuillez contacter study_golang @163.com supprimer
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3