Toggle Sidebar B
AppearanceLight & dark mode D

Scroll Stack

Overlapping card stack reveals on scroll with depth layering.

Default

Scroll inside the preview: each card pins, scales down and stacks under the next one. Every prop is wired to the controls underneath.

Light previewReplay previewOpen in new tab

Scroll Down

Text Animations

Animations

Components

Backgrounds

All on UI Library!

Customize

Item Distance200px
Stack Distance30px
Stack Position
Base Scale0.85
Rotation Amount0°
Blur Amount0px

API Reference

ScrollStack

PropTypeDefaultDescription
default slotScrollStackItem[]requiredThe content to be displayed in the scroll stack. Should contain ScrollStackItem components.
itemDistancenumber100Distance between stacked items in pixels.
itemScalenumber0.03Scale increment for each stacked item.
itemStackDistancenumber30Distance between items when they start stacking.
stackPositionstring"20%"Position where the stacking effect begins as a percentage of viewport height.
scaleEndPositionstring"10%"Position where the scaling effect ends as a percentage of viewport height.
baseScalenumber0.85Base scale value for the first item in the stack.
scaleDurationnumber0.5Duration of the scaling animation in seconds.
rotationAmountnumber0Rotation amount for each item in degrees.
blurAmountnumber0Blur amount for items that are further back in the stack.
useWindowScrollbooleanfalseWhether to use window scroll for the stack.
@stack-complete() => void-Emitted when the stack animation is complete.

ScrollStackItem

PropTypeDefaultDescription
default slotVNode-The card content. Extra classes fall through onto the card element.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
Arrow Up + Arrow Down + Page Up + Page DownScroll the stack when its container has focus.
  • Scrolling is smoothed by Lenis, so the stack follows a lerped position rather than the raw wheel delta.