Les animations CSS sont présentées le 16 novembre par Luca et Dani.

Première étape: Définir le nom et les propriétés d’un objet dans une “div”. On définit le nom grâce à la commande “animation-name abc”.

.square {
  animation-name: abc;
  animation-duration: 10s;
}

Dans une autre section on déclare l’animation grâce à la directive @keyframes :

@keyframes abc {
  0%   {background-color: red;}
  25%  {background-color: yellow;}
  50%  {background-color: blue;}
  100% {background-color: green;}
}

Plusieurs attributs CSS permettent d’avoir une influence sur l’animation; animation-duration, animation-delay, animation-iteration-count, animation-direction, animation-timing-function, animation-fill-mode, animation.

Grâce à cela, on peut modifier la couleur, la taille, la position des objets, le sens de lecture de l’animation, le nombre de répétitions de l’animation et la vitesse.

Le challenge

Exercice : https://replit.com/join/sinqicbikk-dandadan

Votre mission sera de :

  • Changer la couleur du carré pour chaque position
  • Animer ce dernier avec 4 positions différentes
  • Faire en sorte que l’animation se relance à l’envers

Un exemple complété:

https://replit.com/@Miggix/CSS-Animation-Exercice

Ressources

Les fonctions de timing

Pour une animation fluide, on voudra souvent un mouvement qui connaît des accélérations et des ralentis. On peut préciser ce comportement avec la propriété CSS animation-timing-function. Il existe plusieurs réglages par mots-clés: ease, ease-in, ease-out, ease-in-out et linear.

Si on veut être plus précis, on peut définir une courbe de bézier qui décrit l’accélération. Lea Verou a développé un petit outil permettant de réaliser vos propres courbes de Bézier de manière visuelle: https://cubic-bezier.com/