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.

View the live experiment

Want something like this on your site?

This is one of a handful of interactions we build just to see what's possible. If something in the Lab caught your eye, we can bring it to your project.

Start a Project