THE INTERACTION LIBRARY   /   VOL. 02

Web Motion Atlas

Give that motion a name.motion.

Try 24 effects. Find the right use, then take an AI prompt or working HTML with you.

Explore effects↘Design dictionary ↗

EXPLORE THE COLLECTION

Explore effects / 24

24 / 24

01Scroll↗
012024
022025
032026
50%

Scroll the page, or compare states with the slider.

Scroll timeline

Timeline on scroll

A line grows with scrolling and reveals milestones in order.

Use it forHistory, project stages, onboarding

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll + transform
Implement this effect in HTML, CSS and JavaScript.
Scroll timeline / Timeline on scroll
A line grows with scrolling and reveals milestones in order.
Use it for: History, project stages, onboarding
scroll + transform
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

02Scroll↗
READ / FEEL / REMEMBER
50%

Scroll the page, or compare states with the slider.

Scroll text reveal

Scroll text reveal

Words gain color as the reader moves through a short message.

Use it forBrand statements and short introductions

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll + opacity
Implement this effect in HTML, CSS and JavaScript.
Scroll text reveal / Scroll text reveal
Words gain color as the reader moves through a short message.
Use it for: Brand statements and short introductions
scroll + opacity
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

03Scroll↗
01 / FORM
02 / FLOW
03 / FEELING
50%

Scroll the page, or compare states with the slider.

Stacking cards

Stacking cards

The next card rises over the previous one, which recedes in depth.

Use it forServices and a sequence of case studies

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll + transform
Implement this effect in HTML, CSS and JavaScript.
Stacking cards / Stacking cards
The next card rises over the previous one, which recedes in depth.
Use it for: Services and a sequence of case studies
scroll + transform
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

04Scroll↗
COLOR
STORIES.
01 — 02 — 03
50%

Scroll the page, or compare states with the slider.

Background color change

Background color change

The background palette follows the reading position.

Use it forChapter boundaries and changes of theme

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll + background-color
Implement this effect in HTML, CSS and JavaScript.
Background color change / Background color change
The background palette follows the reading position.
Use it for: Chapter boundaries and changes of theme
scroll + background-color
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

06Scroll↗
01 / FORM
50%

Scroll the page, or compare states with the slider.

Scrollspy

Scrollspy

The selected table-of-contents entry follows the visible section.

Use it forLong guides and product specifications

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll position + aria-current
Implement this effect in HTML, CSS and JavaScript.
Scrollspy / Scrollspy
The selected table-of-contents entry follows the visible section.
Use it for: Long guides and product specifications
scroll position + aria-current
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

07Scroll↗
50%

Scroll the page, or compare states with the slider.

Back-to-top button

Back to top

A button appears after scrolling and returns to the beginning.

Use it forLong lists and revisiting an article

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scrollTo + focus
Implement this effect in HTML, CSS and JavaScript.
Back-to-top button / Back to top
A button appears after scrolling and returns to the beginning.
Use it for: Long lists and revisiting an article
scrollTo + focus
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

08Scroll↗
A CLOSER LOOK
50%

Scroll the page, or compare states with the slider.

Scroll zoom

Scroll zoom

A scene enlarges to bring a subject closer.

Use it forProduct details and key visuals

Prompt & guidance

Before using it Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.

scroll + scale
Implement this effect in HTML, CSS and JavaScript.
Scroll zoom / Scroll zoom
A scene enlarges to bring a subject closer.
Use it for: Product details and key visuals
scroll + scale
Keep content readable and preserve normal scrolling. Show the complete state when reduced motion is enabled.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

09Pointer & input↗

Hover, tap or use Tab

3D tilt

3D tilt

A card tilts in perspective toward the pointer.

Use it forPortfolio cards and product showcases

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

pointermove + perspective
Implement this effect in HTML, CSS and JavaScript.
3D tilt / 3D tilt
A card tilts in perspective toward the pointer.
Use it for: Portfolio cards and product showcases
pointermove + perspective
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

10Pointer & input↗

Hover, tap or use Tab

Spotlight hover

Spotlight hover

A light follows the pointer and illuminates the card boundary.

Use it forFeature choices and focused items

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

radial-gradient + Pointer Events
Implement this effect in HTML, CSS and JavaScript.
Spotlight hover / Spotlight hover
A light follows the pointer and illuminates the card boundary.
Use it for: Feature choices and focused items
radial-gradient + Pointer Events
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

11Pointer & input↗

Hover, tap or use Tab

Image swap on hover

Image swap on hover

Hover or tap to reveal another product color or view.

Use it forColor variants and front/back comparisons

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

opacity + :focus-visible
Implement this effect in HTML, CSS and JavaScript.
Image swap on hover / Image swap on hover
Hover or tap to reveal another product color or view.
Use it for: Color variants and front/back comparisons
opacity + :focus-visible
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

12Pointer & input↗

Hover, tap or use Tab

Text roll

Text roll

Text moves upward while its replacement enters from below.

Use it forShort links and navigation

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

overflow + translateY
Implement this effect in HTML, CSS and JavaScript.
Text roll / Text roll
Text moves upward while its replacement enters from below.
Use it for: Short links and navigation
overflow + translateY
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

13Pointer & input↗

Hover, tap or use Tab

Hover image preview

Hover image preview

Touch a list entry to reveal a preview for that place.

Use it forPortfolio lists and destination comparisons

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

pointermove + focus
Implement this effect in HTML, CSS and JavaScript.
Hover image preview / Hover image preview
Touch a list entry to reveal a preview for that place.
Use it for: Portfolio lists and destination comparisons
pointermove + focus
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

14Pointer & input↗

Format demo. Nothing is sent or saved.

Hover, tap or use Tab

Floating label

Floating label

The label moves above the input and remains visible while typing.

Use it forContact and signup forms

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

label + :placeholder-shown
Implement this effect in HTML, CSS and JavaScript.
Floating label / Floating label
The label moves above the input and remains visible while typing.
Use it for: Contact and signup forms
label + :placeholder-shown
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

15Pointer & input↗

Format demo. Nothing is sent or saved.

Hover, tap or use Tab

Inline validation

Inline validation

An error and its correction appear beside the input.

Use it forChecking an email address format

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

ValidityState + aria-invalid
Implement this effect in HTML, CSS and JavaScript.
Inline validation / Inline validation
An error and its correction appear beside the input.
Use it for: Checking an email address format
ValidityState + aria-invalid
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

16Pointer & input↗

Format demo. Nothing is sent or saved.

Hover, tap or use Tab

Loading button

Loading button

The button shows progress and completion and prevents repeat actions.

Use it forFeedback after saving or submitting

Prompt & guidance

Before using it Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.

disabled + aria-busy
Implement this effect in HTML, CSS and JavaScript.
Loading button / Loading button
The button shows progress and completion and prevents repeat actions.
Use it for: Feedback after saving or submitting
disabled + aria-busy
Do not require hover. Offer the same content by touch and keyboard. Form examples stay on this device and send nothing.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

17Presentation↗

Use the demo controls

View transition

View transition

A shared image connects the card and its detailed view.

Use it forMoving from a list to details

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

document.startViewTransition
Implement this effect in HTML, CSS and JavaScript.
View transition / View transition
A shared image connects the card and its detailed view.
Use it for: Moving from a list to details
document.startViewTransition
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

19Presentation↗

Use the demo controls

Hotspots

Hotspots

Select a marker on a diagram to read about that part.

Use it forProduct anatomy and location guides

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

button + aria-expanded
Implement this effect in HTML, CSS and JavaScript.
Hotspots / Hotspots
Select a marker on a diagram to read about that part.
Use it for: Product anatomy and location guides
button + aria-expanded
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

20Presentation↗
10-second demo

Use the demo controls

Countdown timer

Countdown timer

Time remaining decreases to zero and then stops.

Use it forDeadlines and event start times

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

performance.now + timeout
Implement this effect in HTML, CSS and JavaScript.
Countdown timer / Countdown timer
Time remaining decreases to zero and then stops.
Use it for: Deadlines and event start times
performance.now + timeout
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

21Presentation↗
MAKE
WAVES.
50%

Use the demo controls

Animated shape divider

Animated shape divider

A moving wave joins two adjacent sections.

Use it forHero boundaries and chapter breaks

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

SVG path + transform
Implement this effect in HTML, CSS and JavaScript.
Animated shape divider / Animated shape divider
A moving wave joins two adjacent sections.
Use it for: Hero boundaries and chapter breaks
SVG path + transform
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

22Presentation↗

Use the demo controls

Like animation

Like animation

A heart briefly pops as the selected state changes.

Use it forFavorites and save feedback

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

aria-pressed + Web Animations
Implement this effect in HTML, CSS and JavaScript.
Like animation / Like animation
A heart briefly pops as the selected state changes.
Use it for: Favorites and save feedback
aria-pressed + Web Animations
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

23Presentation↗
Beyond the ordinary.

Use the demo controls

Scroll cue

Scroll cue

A downward movement hints at more content; activation moves to it.

Use it forLeading from the first view to the article

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

scrollIntoView + focus
Implement this effect in HTML, CSS and JavaScript.
Scroll cue / Scroll cue
A downward movement hints at more content; activation moves to it.
Use it for: Leading from the first view to the article
scrollIntoView + focus
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

24Presentation↗
Beyond the ordinary.

Use the demo controls

Background video

Background video

Play a scene behind a readable foreground message.

Use it forTravel, spaces and brand introductions

Prompt & guidance

Before using it Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.

video + muted + playsinline
Implement this effect in HTML, CSS and JavaScript.
Background video / Background video
Play a scene behind a readable foreground message.
Use it for: Travel, spaces and brand introductions
video + muted + playsinline
Keep content accessible and provide pause or close controls. Preserve access in browsers without the effect.
Match the target, trigger and behavior above. Support 320px width, keyboard and prefers-reduced-motion; preserve reading order and focus.

FROM INSPIRATION TO IMPLEMENTATION

Find it. Try it. Describe it.

A name plus what changes, when and how makes a precise brief. Some names are informal. These original demos are examples; choose according to your content, devices and audience.

Save working HTML

Save this atlas as one HTML file. Open it locally and edit the demo HTML, CSS and JavaScript. MIT license.

Save working HTML ↓ MIT
Specifications & references