Apr 17, 2026·11 min read
CSS Animations — @keyframes, Transitions, and When to Use Each
Transitions react to state changes. @keyframes run on their own. Here's how each one works, the animation shorthand explained, fill-mode demystified, real examples (skeleton loader, spinner, toast, pulsing badge), and the performance details that keep animations at 60fps.
Read article →