Sun beams breaking over a mountain range
Demo 05

Depth, without WebGL

Scroll down. The mountain backdrop slides slower than the page, so the text feels like it floats above the scene.

How the illusion works

Each scene measures its position in the viewport on every scroll frame, then translates its image layer by a fraction of the scroll distance. The fraction — the layer's depth — decides how fast it drifts. Small values feel distant; larger ones feel close.

Sunset over the hills of Cusco

One layer per scene

Scenes can stack any number of layers. Two or three is usually enough — depth reads best when it is subtle.

Built for smoothness

Transforms run on the compositor, updates are batched with requestAnimationFrame, and everything switches off for visitors who prefer reduced motion. No libraries, no scroll hijacking — just arithmetic. Try pulling this off in Webflow.

← Back to the playground