Start a Project
Back to Lab

Card Spread

Five images fan from a single stack as you scroll, gesture-ready and physics-light, with nothing behind it but vanilla JavaScript and CSS transforms.

Card Spread

Card Spread started as a question: what if a stack of images could fan out the way a hand of cards does, without reaching for a library to do it.

The idea

Most scroll-triggered card reveals lean on a physics engine or a UI framework's built-in gesture handling. We wanted something lighter. Five images sit stacked at rest, and as the page scrolls, each one rotates and slides outward along its own arc, settling into a fan.

How it works

The whole thing runs on vanilla JavaScript and CSS transforms. Scroll position maps to a single progress value between 0 and 1, and every card interpolates its own rotation, translation, and scale off that one number. No animation library, no physics simulation, just interpolated math tied to scroll.

Because it's just transforms, it's cheap to run and easy to retune. Changing how far a card travels, how much it rotates, or how the fan is spaced is a matter of adjusting a few values, not rewriting the interaction.

Share this post

Link copied

Popular Posts

Dark Mode Is Not an Inversion Dark Mode Is Not an Inversion World Times World Times