CSS

Maîtrisez les animations CSS modernes avec @keyframes

Découvrez comment utiliser @keyframes pour des animations CSS modernes.

03 Feb 2026 3 min de lecture 7 vues

7

Lectures

3

Minutes

0

Partages

Les animations CSS sont devenues un élément incontournable du développement web moderne. Elles permettent d'ajouter du dynamisme et de l'interactivité à nos sites, rendant ainsi l'expérience utilisateur plus agréable. Dans cet article, nous allons plonger dans le monde des animations CSS avec l'utilisation de la règle @keyframes, qui permet de créer des animations fluides et personnalisées.

Qu'est-ce que @keyframes ?

La règle @keyframes en CSS permet de définir les étapes d'une animation. Elle spécifie les styles appliqués à des moments précis de l'animation. Les animations peuvent être simples ou complexes, en fonction des besoins du projet.

Syntaxe de base de @keyframes

La syntaxe de la règle @keyframes est assez simple. Voici un exemple basique :

@keyframes nomDeLAnimation {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100px);
  }
}

Dans cet exemple, nous avons défini une animation qui déplace un élément de sa position d'origine à 100 pixels vers le haut.

Comment appliquer une animation CSS ?

Après avoir défini notre animation avec @keyframes, il est temps de l'appliquer à un élément HTML. Cela se fait en utilisant les propriétés CSS animation-name et animation-duration.

Exemple d'application d'une animation

Voici un exemple complet d'application d'une animation à un élément :

div {
  width: 100px;
  height: 100px;
  background-color: blue;
  animation-name: monAnimation;
  animation-duration: 2s;
}

@keyframes monAnimation {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  100% {
    transform: translateX(0);
  }
}

Dans cet exemple, un div bleu se déplace de gauche à droite puis revient à sa position d'origine en 2 secondes.

Personnaliser les animations avec des propriétés CSS

Les propriétés CSS relatives aux animations permettent d'ajouter encore plus de personnalisation. Voici quelques-unes des propriétés les plus courantes :

  • animation-delay : définit un délai avant le début de l'animation.
  • animation-iteration-count : détermine le nombre de fois que l'animation doit être répétée.
  • animation-direction : spécifie la direction de l'animation (normal, reverse, alternate).
  • animation-fill-mode : définit comment les styles d'animation sont appliqués avant ou après l'animation.

Voici un exemple qui utilise plusieurs de ces propriétés :

div {
  width: 100px;
  height: 100px;
  background-color: red;
  animation: monAnimation 3s ease-in-out 1s infinite alternate;
}

@keyframes monAnimation {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.5);
  }
}

Dans cet exemple, le div rouge va grossir et rétrécir indéfiniment, avec un délai d'une seconde avant de commencer.

Astuces pour des animations CSS réussies

Pour garantir que vos animations améliorent l'expérience utilisateur, voici quelques conseils :

  • Utilisez des animations subtiles pour ne pas distraire l'utilisateur.
  • Évitez d'animer des propriétés qui peuvent causer des performances médiocres, comme width ou height.
  • Testez vos animations sur différents navigateurs pour assurer la compatibilité.

En suivant ces recommandations, vous pourrez créer des animations à la fois attrayantes et performantes.

Conclusion

Les animations CSS modernes avec @keyframes sont un excellent moyen d'ajouter du style et de l'interactivité à vos projets web. En comprenant et en utilisant les différentes propriétés d'animation, vous pouvez créer des expériences utilisateur mémorables. N'hésitez pas à expérimenter avec vos propres animations et à les intégrer dans vos futurs projets web.

Si vous avez aimé cet article et souhaitez en savoir plus sur le développement web, abonnez-vous à notre newsletter pour recevoir les dernières tendances et astuces directement dans votre boîte mail !

Tags

Frontend CSS Animations

Partagez cet article

Twitter Facebook LinkedIn
JY

Jordane YENO

Developpeur Full Stack passionne par le web et les nouvelles technologies

En savoir plus

Articles similaires