Motion & Media

Motion & Animation

Web motion: transitions, scroll effects, springs, and easing.

The territory

26 core terms mapped for this field, ranked by how often builders reach for them. Each one is a future entry. Want to bust one? One entry, one file, one pull request.

  • Easing functionSpeed curve making motion accelerate and decelerate instead of linear"cubic-bezier" · "the speed-up slow-down thing" · "make it not feel robotic"
  • DurationTotal time required for one animation cycle"how long it takes" · "animation speed setting"
  • DelayWaiting period before an animation starts"wait before it starts" · "start it a bit later"
  • CSS transitionInterpolates property changes when an element enters a new state"hover animation with transition" · "just make it fade with CSS"
  • CSS animationRuns keyframe sequences independently of property-change triggers"@keyframes animation" · "looping animation in CSS"
  • KeyframesNamed waypoints defining values at percentages through an animation"define the steps of the animation" · "middle position, not just start and end"
  • Interpolation (tweening)Calculates intermediate values between defined animation states"tween between two values" · "fill in the in-between frames"
  • Spring animationPhysics motion tuned by stiffness, damping, mass; overshoots naturally"bouncy like iOS" · "springy settle"
  • StaggerSame animation on siblings with an incremental delay each"one after another, not all at once" · "cascading list"
  • Enter/exit transitionAnimating elements on mount and, harder, before unmount"make it animate out too, not just in" · "it disappears instantly instead of fading"
  • Crossfade (dissolve)One element fades out as another fades in, overlapping"dissolve between images" · "one fades out while the next fades in"
  • Scroll-triggered revealElement animates once it enters the viewport"fades up when you scroll to it" · "appears as you go down"
  • Scroll-linked animation (scrubbing)Progress tied to scroll position; scrolling back rewinds it"scroll controls it like a slider" · "scroll forwards and backwards through it"
  • Pinned sectionSection sticks in place while content animates through scroll"the page freezes while stuff changes" · "sticky section that plays"
  • ParallaxLayers move at different speeds to fake spatial depth"background moves slower than the foreground" · "layered depth on scroll"
  • Layout animation (FLIP technique)Element smoothly slides between old and new layout positions"it glides when the list reorders" · "things jump instead of moving"
  • Shared element transitionSame element visually morphs across states, routes, or pages"the thumbnail grows into the full page" · "magic move"
  • View Transitions APINative browser crossfade or morph between DOM states and pages"native page transitions without a library" · "app-like navigation in the browser"
  • Page transitionChoreographed exit and enter when navigating between routes"smooth navigation instead of a hard cut" · "the wipe between pages"
  • Timeline / orchestrationSequencing multiple animations with relative offsets and overlaps"chain them so B starts before A finishes" · "conduct the whole sequence"
  • Overshoot / anticipationMotion passes its target then settles; wind-up before moving"goes a bit too far then comes back" · "pulls back before it launches"
  • Interruptible animationNew input redirects motion from current position and velocity"doesn't restart when you click again mid-animation" · "catches it in flight"
  • Intrinsic-size animationAnimating open/close to content height without hardcoded pixels"auto-height animation" · "animate to height auto"
  • Scroll snapScrolling locks to section or card boundaries"it clicks into place per section" · "full-screen sections that lock"
  • Inertial scrollingJS-eased scrolling with weight, glide, and momentum"smooth scroll with lerp" · "heavy buttery scroll like award sites"
  • MorphOne shape or icon continuously deforms into another"hamburger turning into an X" · "the shape bends into the other shape"

Deeper in the field

  • Motion path (offset-path) Element travels along a defined curve rather than straight
  • Blur-in Element resolves from blurred to sharp while fading in
  • Pop-in Quick scale-up from small with slight overshoot on appear
  • Squash and stretch Deforming volume along the motion axis to imply weight
  • Elastic easing / back easing Curves that bounce or dip past the target before settling
  • Motion tokens Reusable named durations and curves shared across a design system
  • Scroll progress indicator Bar or ring reflecting how far down the page you are
  • Scroll-velocity skew Elements skew or stretch proportionally to scroll speed
  • Magnetic hover Button subtly pulls toward the cursor within a radius
  • 3D tilt (perspective hover) Card rotates in perspective following pointer position
  • Cursor follower Custom dot or ring trailing the pointer with lag
  • Count-up / rolling-number animation Digits animate upward or roll to a final value
  • @starting-style / transition-behavior: allow-discrete CSS enabling entry animations for popovers, dialogs, and display changes
  • Attention seeker (pulse, shake, jiggle) Short looping or one-shot motion drawing focus or signalling error
  • Text scramble (decode effect) Characters cycle through random glyphs before resolving to words
  • Preloader (intro sequence) Branded animated hold that plays before first paint reveals
  • Scrollytelling Narrative where scroll position drives a sticky visual's story
  • Split text (per-character animation) Text broken into chars, words, or lines for staggered reveal
  • Marquee (infinite ticker) Content loops sideways forever with a seamless wrap
  • Draw-on (stroke-dashoffset) SVG stroke appears progressively, as if being drawn
  • Mask reveal (clip-path wipe) Content revealed by an expanding shape or moving edge
  • Transform origin Pivot point used for rotation, scaling, and related transforms
  • Iteration count Controls how many times an animation repeats
  • Fill mode Determines which keyframe styles persist outside active playback
  • Animation direction Plays iterations forward, backward, or alternating between both
  • Scroll-driven animation Animation controlled by scroll or viewport progress timelines
  • Inertia animation Continues from release velocity while gradually slowing through friction
  • Playback controls Pause, resume, reverse, seek, or change an animation's speed