M04 · C. Mettre en forme une page web avec les feuilles de style CSS
Animer avec CSS : transitions, transformations et keyframes
Adoucir un changement d'état avec transition, déplacer, agrandir ou tourner un élément avec transform, et créer une animation en plusieurs étapes avec @keyframes.
1Situer
Une pâtisserie de Tétouan veut que ses cartes de gâteaux se soulèvent doucement au survol, que le bouton « Commander » grossisse légèrement et qu'un petit logo tourne pendant le chargement. Ces effets donnent une impression de qualité, et le CSS les fait seul, sans une ligne de JavaScript.
2Comprendre
@keyframes : les images clés d'une animation
On décrit une animation rebond par ses images clés : au début (0 %), au milieu (50 %) et à la fin (100 %).
1 / 5
Les transitions
Une transition anime le passage d’une valeur à une autre quand l’état change (survol, focus, classe ajoutée).
On écrit la transition sur l’élément au repos, pas sur :hover : ainsi l’effet joue à l’aller et au retour.
Courbes de vitesse : linear (constante), ease (par défaut), ease-in (démarre lentement), ease-out (finit lentement), ease-in-out.
Les transformations
Fonction
Effet
translate(x, y)
déplacer
scale(1.1)
agrandir (ou réduire avec moins de 1)
rotate(45deg)
tourner
skew(10deg)
incliner
Elles se combinent : transform: translateY(-4px) scale(1.05);.
Les animations @keyframes
On décrit les images clés, puis on applique l’animation :
@keyframestourner{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}.logo{animation-name:tourner;animation-duration:2s;animation-timing-function:linear;animation-iteration-count:infinite;/* ou en une ligne : animation: tourner 2s linear infinite; */}
Avec modération
Une animation doit aider : montrer qu’un bouton est cliquable, attirer l’œil sur un message. Trop d’effets fatiguent. Certains visiteurs demandent à leur système de réduire les animations ; on le respecte avec @media (prefers-reduced-motion: reduce) { ... }.
Exemple simple
La porte automatique
Une porte qui claque d'un coup surprend ; une porte automatique s'ouvre en une seconde, en douceur. transition transforme un changement brutal (au survol) en mouvement fluide.
Un dessin animé, ce sont des images clés : au début le ballon est en haut, au milieu il touche le sol, à la fin il est remonté. @keyframes décrit ces images clés, le navigateur dessine les étapes intermédiaires.