Motion is what separates a static page from a living interface. CSS gives you two tools: transitions for state changes (hover, focus, active) and @keyframes animations for complex, looping, or auto-playing motion. In this lesson you'll master both — plus transform functions, timing functions, and the golden rules of performance-safe animation.
1-A 2-A 3-A 4-A | 5 ease 6 scale 7 = .btn{transition:transform .2s} .btn:hover{transform:scale(1.05)} 8 = @keyframes fade{from{opacity:0}to{opacity:1}} .x{animation:fade .5s} 9 = GPU-accelerated - smoother, no layout recalcs | 10 = Waits before the animation starts