Also called Horizontal Scrolling, Scroll-jacked Horizontal Gallery
Vertical scrolling moves a pinned row of panels sideways.
Use for
Galleries, portfolios, timelines
Add a "Horizontal Scroll Section" (also called horizontal scrolling or a scroll-jacked horizontal gallery) to [where].
When the section reaches the top it should stay pinned while scrolling down moves its row of panels sideways, then release once the last panel is in view.
Tie the sideways movement directly to the scroll position so scrolling back reverses it, and fall back to a normal swipeable row on small screens or for users who prefer reduced motion.
Also called Parallax Scrolling, Parallax Layers, Parallax scroll, Depth parallax, Parallax hero
Layers move at different speeds relative to scroll to create a sense of depth.
Use for
Hero backgrounds, landing pages
Add a "Parallax" scroll effect (also called parallax scrolling or parallax layers) to [where].
Background layers should move more slowly than the content as the page scrolls, the farthest layer moving least, for a subtle sense of depth.
Keep it tied to the scroll position without lag, keep text on the normal-speed layer, and turn the effect off for users who prefer reduced motion.
Also called Pinned Section, Sticky Section, Scroll Pin
An element stays locked in place during a scroll range while other content or animation progresses.
Use for
Scroll-driven storytelling, feature showcases
Add a "Pinning" scroll effect (also called a pinned section or sticky section) to [where].
One panel should stay locked in place while the content beside it scrolls past, switching to match the step being read, and it should let go when the section ends.
Prefer native sticky positioning over hijacking the scroll, and make sure every step still reads well without the pinned panel on small screens.
Also called Reading Progress Bar, Progress Bar
A bar or ring fills as the user scrolls through the page or article.
Use for
Articles, long-form pages
Add a "Scroll Progress Indicator" (also called a reading progress bar) to [where].
A thin bar along the top should fill from left to right in step with how far the reader has scrolled, reaching full width at the end.
Tie it directly to the scroll position with no easing lag, and keep it from covering the content.
Also called Scroll Snapping, Snap Scrolling
Scrolling settles onto defined snap points such as slides or sections.
Use for
Carousels, full-page sections, galleries
Add "Scroll Snap" (also called scroll snapping or snap scrolling) to [where].
When scrolling stops, the view should settle neatly onto the nearest section so each one lines up with the edge instead of stopping halfway.
Use the browser's native snapping so wheel, touch and keyboard scrolling all keep working, and make sure content taller than the view can still be read in full.
Also called Scroll-Driven Animation, Scroll Scrub, Scroll Timeline Animation, Scrub, Scroll Scrubbing, Scroll Progress Timeline, scroll() timeline, View Progress Timeline, view() timeline, Element Visibility Animation
Animation progress is tied directly to scroll position, so scrolling forward or back plays or rewinds it.
Use for
Storytelling pages, progress effects
Add a "Scroll-Linked Animation" (also called a scroll-driven animation or scroll scrub) to [where].
The animation should move exactly with the scroll position, so scrolling down plays it forward and scrolling up rewinds it on the spot, with no time-based easing of its own.
Map the whole animation to a clear scroll range, and show a sensible static state for users who prefer reduced motion.
Also called Reveal on Scroll, Scroll Reveal, Animate on Scroll, Scroll Fade-In, Toggle Class on Scroll, Scroll Toggle Actions
An animation plays once when an element enters or leaves the viewport.
Use for
Fade-in sections, lazy reveals
Add a "Scroll-Triggered Animation" (also called reveal on scroll or animate on scroll) to [where].
Each item should fade and slide up into place once as it enters the view, playing at its own quick, smooth pace rather than following the scroll position.
Keep the content visible if scripts fail to load, and show items straight away for users who prefer reduced motion.
Also called Smooth Scrolling, Inertia Scroll
Scrolling and anchor jumps glide with easing instead of moving abruptly.
Use for
Anchor navigation, premium-feeling pages
Add "Smooth Scroll" (also called smooth scrolling or inertia scroll) to [where].
Scrolling and jumps to anchors should glide and ease to a stop instead of moving in abrupt steps, with a light, responsive feel rather than a heavy lag.
Keep native behaviour such as keyboard scrolling, the scrollbar and find-in-page working, and turn the smoothing off for users who prefer reduced motion.
Also called Sticky Stacking Cards, Card Stack Scroll
Cards stick at the top as the user scrolls and pile on top of each other, often shrinking the earlier ones.
Use for
Feature lists, portfolios
Add "Stacking Cards" (also called sticky stacking cards or a card stack scroll) to [where].
As the reader scrolls, each card should stick near the top and the next card should slide up over it, while the cards underneath shrink slightly so a neat pile builds up.
Leave a thin edge of each earlier card showing, and give the last card enough room to reach its place before the section ends.
A B C D E F G H I J K L M N O P Q R S T A B C D E F G H I J K L M N O P Q R S T
A B C D E F G H I J K L M N O P Q R S T A B C D E F G H I J K L M N O P Q R S T
Scroll inside
Also called Scroll Text Marquee, Text Scroll, Scroll Velocity Text, Scroll Based Velocity
Large text lines slide horizontally as the page is scrolled vertically.
Use for
Brand statements, hero sections
Add a "Text Marquee on Scroll" (also called a scroll text marquee or scroll velocity text) to [where].
Large lines of text should slide sideways as the page scrolls down, with alternate rows moving in opposite directions, and slide back when scrolling up.
Tie the movement to the scroll position, keep the long lines from causing a horizontal scrollbar, and keep them still for users who prefer reduced motion.
Also called Scroll Zoom, Scale on Scroll, Spatial Scroll Zoom
An element or scene scales up or down as the user scrolls.
Use for
Hero intros, image expansion
Add a "Zoom on Scroll" effect (also called scroll zoom or scale on scroll) to [where].
While the section is held in view, the element should grow smoothly from a small card until it fills the whole view, in step with the scroll, and shrink back when scrolling up.
Scale it without pushing the layout around it, and show it at its final size without the zoom for users who prefer reduced motion.