Scroll Stack is a hand you've already held.

Every section on this page is a card. Hold one, then watch the next one press flat over it.

02The question

You've scrolled through one of these and never known its name.

A pricing page. A feature tour. A portfolio that "snaps" between projects. It pinned. It held. The next thing covered it completely. That's the whole trick — and it has a name.

03How we got here

One CSS primitive, shipped three times, four years apart.

2013WebKit ships sticky
2015Codrops, first pass
2017Chrome 56 ships sticky
2017–2019CSS-Tricks canonizes it
2020GSAP ScrollTrigger
04Who built it

No single inventor. Four separate hands.

2013–2017 · the primitive

WebKit / Firefox / Chromium engineers

Shipped `position: sticky` across three engines independently, four years apart, without ever agreeing on timing — which is why this took until 2017 to be safe everywhere.

2015 & 2024 · the name

Codrops’ editorial team

Turned a CSS trick into a named effect category twice, nearly a decade apart, each time pushing the same flat-card premise further.

2017–2019 · the proof

Corey Ginnivan

An independent developer whose personal site is repeatedly cited as the real-world proof the effect works outside a CodePen demo.

2020 · the tool

GreenSock · Jack Doyle

ScrollTrigger’s `pin` option industrialized the JS-driven version, putting the mechanic on Apple-adjacent production sites at scale.

05Design DNA

Press it yourself.

Four cards, four moves. Press to advance the deck; release to pull the top card back off.

01 — Pin the section

Hold a section in the viewport for a fixed scroll distance — position: sticky, or a ScrollTrigger pin, does this for free.

Click to press the next card →
02 — Let the next one arrive

The incoming section starts at the bottom edge, fully opaque, and begins sliding up over the pinned one.

03 — Press it flat

It keeps pressing upward until it fully occludes the section beneath — a hard drop-shadow marks the exact seam.

04 — Release the old one

The moment the new card locks into place, the old one is let go and drops back into normal scroll flow underneath.

Surface01 — Pin the section
07Verdict

"It was never a page. It was always a hand of cards."