21 Transitions & Animations
Dernière mise à jour
Dernière mise à jour
Avec la pseudo-classe :hover
vous pouvez décrire ce qui devrait arriver à un élément HTML lorsque vous le survolez. Le bouton suivant permet de changer la couleur de fond.
tester ce code
Vous pouvez voir que le changement est instantané et qu'il n'y a pas de délai entre le changement de la couleur de fond. Avec la propriété "transition", vous pouvez animer entre les propriétés. Cela se fait en définissant ce qui suit sur la classe originale ".button" :
Vous pouvez également animer plusieurs propriétés indépendamment. Vous devez veiller à séparer les valeurs par une virgule et à respecter le bon ordre. Si vous voulez animer toutes les propriétés, vous pouvez écrire transition-property: all
.
Les animations ne nécessitent aucune interaction, comme un ".hover" avec le curseur, par rapport aux transitions. Avec les animations, vous décrivez un ensemble de propriétés qui doivent être animées vers un autre ensemble de propriétés. Vous pouvez considérer cela comme une transition. Chaque étape est appelée "keyframe" en CSS. Dans votre sélecteur, vous faites alors référence au nom de l'animation de vos "images-clés" et vous indiquez à ce sélecteur comment jouer l'animation.
Dans l'exemple suivant, nous voulons qu'un carré soit pulsé et que la couleur passe de "bleu royal" à "orange".
La propriété "animation-timing-function: ease-in-out;" donne l'impression que le carré "respire", car l'animation joue à des vitesses différentes. Une animation toujours stable pourrait être obtenue avec la valeur "linéaire". Grâce à ces fonctions de chronométrage, vous pouvez donner aux animations un aspect réaliste. Dans les liens ci-dessous, vous trouverez des fiches de référence à partir desquelles vous pouvez copier des valeurs pour vous familiariser avec les fonctions de temps.
Pour faire jouer l'animation à l'infini, il faut définir "animation-iteration-count: infinite;". Si vous voulez que l'animation ne soit jouée que 3 fois, alors écrivez animation-iteration-count: 3;
.
Avec animation-direction: alternate
, vous définissez que l'état final (100%
) s'anime à nouveau pour revenir à l'état initial (0%
). Sinon, l'animation reviendrait à l'état initial après avoir atteint l'état final. Dans notre exemple, le carré deviendrait soudainement plus petit et changerait de couleur.
Fiche de référence (easings.net)
Relever les défis
#20 CSS Animations (Ajouter une animation avec CSS qui ne s'arrête jamais et fonctionne indépendamment de l'interaction de l'utilisateur)
tester ce code
Liens