A glossary of common animation patterns taught in the course. Use these names to describe what you want when prompting an AI.
How elements appear and disappear.
Fade in / Fade out β Element appears or disappears by changing opacity.
Slide in β Element enters by sliding in from off-screen (left, right, top, or bottom).
Scale in β Element grows from smaller to full size as it appears, often paired with a fade.
Pop in β Element appears with a slight overshoot, like it bounces into place.
Reveal β Content is uncovered gradually, often by animating a clip-path or mask.
Enter / Exit β The animation an element plays when itβs added to or removed from the screen.
Coordinating multiple elements or moments.
Keyframes β Defined points in an animation (0%, 50%, 100%) that the browser fills the gaps between.
Interpolation / Tween β Generating all the in-between frames between a start and end value, so motion is continuous.
Stagger β Animate several items one after another with a small delay between each, creating a cascade.
Orchestration β Deliberately timing multiple animations so they feel like one coordinated motion.
Delay β Time before an animation starts.
Duration β How long an animation takes.
Fill mode β Whether an element keeps its first or last frame's styles before the animation starts or after it ends (e.g. forwards).
Stepped animation β An animation that is divided into discrete steps, like a countdown timer.
Changing an elementβs position, size, or angle.
Translate β Move an element along the X or Y axis.
Scale β Make an element bigger or smaller.
Rotate β Spin an element around a point.
Skew β Slant an element along the X or Y axis, shearing it out of its rectangular shape.
3D tilt / Flip β Rotate in 3D space (rotateX / rotateY) to add depth.
Perspective β How strong the 3D effect looks β a lower value exaggerates depth, like the viewer is closer.
Transform origin β The anchor point a scale or rotation grows or spins from.
Origin-aware animation β An element animates out of its trigger, like a popover growing from the button that opened it instead of from its own center which is the default in CSS.
Connecting one state, view, or element to another.
Crossfade β One element fades out as another fades in, in the same spot.
Continuity transition β A change that keeps the user oriented by visually connecting before and after. For example, making the same rectangle bigger and smaller.
Morph β One shape smoothly turns into another shape, e.g. Dynamic Island.
Shared element transition β An element travels and transforms from one position into another, like a thumbnail expanding into a card.
Layout animation β When an elementβs size or position changes, it animates to the new spot instead of snapping.
Accordion / Collapse β A section smoothly expands and collapses its height to show or hide content.
Direction-aware transition β Content slides one way going forward and the opposite way going back, so navigation has a sense of direction.
Motion tied to scrolling or navigating between views.
Scroll reveal β Elements fade or slide into place as they enter the viewport.
Scroll-driven animation β An animation whose progress is tied directly to scroll position.
Parallax β Background and foreground move at different speeds while scrolling, creating depth.
Page transition β An animation that plays when navigating from one page or route to another.
View transition β The browser morphs between two states or pages, connecting shared elements.
Responding to the userβs actions.
Hover effect β Visual change when the cursor moves over an element.
Press / Tap feedback β A subtle scale-down when an element is clicked, so it feels physical.
Hold to confirm β A progress effect that fills up while the user holds a button.
Drag β Moving an element by grabbing it, often with momentum when released.
Drag to reorder β Dragging items in a list to rearrange them, while the others shift to make room.
Swipe to dismiss β Dragging an element off-screen to close it, like a drawer or toast.
Rubber-banding β Resistance and snap-back when you drag past a boundary (the iOS overscroll feel).
Shake / Wiggle β A quick side-to-side jitter signaling an error or rejected input.
Ripple β A circle expanding from the point of a tap, confirming the press.
How speed changes over an animation.
Easing β The rate at which an animation speeds up or slows down.
Ease-out β Starts fast, ends slow. The default for most UI and anything responding to the user.
Ease-in β Starts slow, ends fast. Usually avoided; can feel sluggish.
Ease-in-out β Slow, fast, slow. Good for elements already on screen moving from A to B.
Linear β Constant speed. Avoid for UI; reserve for spinners or marquees.
Cubic-bezier β A custom easing curve you define for precise control.
Asymmetric easing β A curve that accelerates and decelerates at different rates. Feels more alive than a symmetric one.
Physics-based motion as an alternative to fixed-duration easing.
Spring β Motion driven by physics (tension, mass, damping) rather than a set duration.
Stiffness / Tension β How strongly the spring pulls toward its target. Higher feels snappier.
Damping β How quickly a spring settles. Lower damping means more bounce and oscillation.
Mass β How heavy the animated element feels. More mass makes it slower and more sluggish.
Bounce β A spring that overshoots and settles, adding playfulness.
Perceptual duration β How long a spring feels finished, even though it keeps micro-settling underneath.
Momentum β Motion that carries velocity, especially after a drag or interruption.
Velocity β How fast and in which direction an element is moving. A spring carries it into the next animation when interrupted, so a flicked element keeps its speed.
Interruptible animation β An animation that can be smoothly redirected mid-flight instead of finishing first.
Animations that run on their own.
Marquee β Text or content that scrolls continuously in a loop.
Loop β An animation that repeats, a set number of times or infinitely.
Alternate (yoyo) β A loop that plays forward then reverses each iteration, instead of jumping back to the start.
Orbit β An element circling around another in a continuous path.
Pulse β A gentle repeating scale or opacity change to draw attention.
Float β A gentle, continuous up-and-down drift that makes a static element feel alive and weightless.
Idle animation β Subtle motion that plays while an element is just sitting there, waiting to be interacted with.
The small touches that separate good from great.
Blur β A blur filter used to soften an element or mask tiny imperfections.
Clip-path β Clipping an element to a shape, used for reveals, masks, and before/after sliders.
Mask β Hiding or revealing parts of an element using a shape or gradient β like clip-path, but with soft, fadeable edges.
Before / after slider β A draggable divider that wipes between two overlaid images to compare them.
Line drawing β An SVG path that draws itself in, like an invisible pen tracing it.
Text morph β Text that animates character by character when it changes, drawing attention to the new value.
Skeleton / Shimmer β A placeholder with a moving sheen shown while content loads.
Number ticker β Digits rolling or counting up to a value.
Tabular numbers β Fixed-width digits so numbers donβt shift around as they change. Essential for tickers, timers, and counters.
Typewriter β Text appearing one character at a time, as if being typed.
What keeps motion smooth instead of stuttering.
Frame rate (FPS) β Frames drawn per second. 60fps is the baseline for smooth motion; 120fps on newer displays.
Jank β Visible stutter when the browser drops frames because it can't keep up with the animation.
Dropped frame β A frame the browser missed its deadline to draw, causing a tiny hitch in motion.
Compositing β Letting the GPU move or fade an element on its own layer without redoing layout or paint.
will-change β A CSS hint that an element is about to animate, so the browser can promote it to its own layer ahead of time.
Layout thrashing β Animating properties like width, height, top, or left that force the browser to recalculate layout every frame, causing jank.
Concepts that guide when and how to animate.
Purposeful animation β Motion should serve a function β orient, give feedback, show relationships β not just decorate.
Anticipation β A small wind-up in the opposite direction before a move, hinting at what's about to happen.
Follow-through β Parts of an element keep moving and settle slightly after the main motion stops, adding weight.
Squash & stretch β Deforming an element as it moves to convey weight, speed, and flexibility.
Perceived performance β The right animation makes an interface feel faster, even when it isnβt.
Frequency of use β The more often a user sees an animation, the shorter and subtler it should be.
Spatial consistency β Animating so an element keeps its identity and position across states, so users never lose track of where things went.
Hardware acceleration β Animating transform and opacity lets the GPU keep motion smooth.
Reduced motion β Respecting the userβs prefers-reduced-motion setting by toning down or removing motion.
Join the waitlist to get **two free preview lessons ** and behind-the-scenes content every two weeks.
Enrollment opens on August 25th, for 10 days.