Motion tells users what just changed: a menu slides out of its button, a card grows into a detail view, a bar tracks reading progress. CSS offers four declarative mechanisms, distinguished by what drives the motion: a changing property value (transitions), a clock (keyframe animations), scroll position (scroll-driven animations) and a DOM update or navigation (view transitions). The browser interpolates the frames and can often run them off the main thread, provided you animate cheap properties (Animation Performance).