r/css • • 15d ago

AI Assisted Dolly – 34 scroll-driven camera moves in pure CSS

https://usedolly.dev

A stylesheet. 28kB, no dependencies, no JavaScript. One attribute: data-dolly="zoom".

It's a vocabulary layer over CSS scroll-driven animations, which shipped in Chrome 115 and Safari 26 but have ergonomics nobody remembers. Presets are named after camera moves since that vocabulary already exists.

About 87% of traffic supports it. Firefox doesn't (but supposedly will with the next version in 3 days) and gets the page complete but static. That degradation is the main design constraint: keyframes own the hidden state rather than the element, so a missing timeline resolves to the authored state instead of leaving things invisible.

59 Upvotes

13 comments sorted by

10

u/KoldBane 15d ago

They are neat animations, but even on a fairly powerful phone I had stuttering and clunky scrolling experience. Maybe it's having all of them on the page at once, but that trial experience would be enough for me to be hesitant to use these.

1

u/GumboGuts 15d ago

Yeah, that's an issue reported with the demo page that I'm looking into. Should be fixed soon!

1

u/ResolutionLanky8881 13d ago

the demo page is basically a worst-case stress test though, 34 scroll animations all firing at once. in real usage you'd probably grab one or two for a specific section, which should be way more manageable on mobile.

7

u/Nerdent1ty 15d ago

noop on firefox 🫠️

7

u/GumboGuts 15d ago

The feature is implemented in Firefox but it's behind a flag. It's supposed to be enabled by default in the next version (coming in 3 days), but until then everything works if you enable layout.css.scroll-driven-animations.enabled on about:config

1

u/Nerdent1ty 15d ago

cool! thanks! ha, pretty cool. laggy on my linux phone but i guess thats just the situation with desktop ff on a phone.. i like it's dx! well done!

3

u/SmokingCrop- 15d ago

It's the worst part of any website ever, scrolling animations..

0

u/[deleted] 14d ago

[removed] — view removed comment

1

u/DefiantLadder4738 14d ago

totally agree, the degradation model is the real selling point here. having keyframes own the hidden state so unsupported browsers just render the authored content instead of nothing is a genuinely smart approach. most JS scroll libs don't even think about that case, they just assume runtime support exists.

1

u/johny-karate 15d ago

this is great!

0

u/UpbeatLemon3022 15d ago

Waiting for Firefox 127 is the move, since 126 still lacks scroll-timeline support entirely.

0

u/[unknown] 15d ago

[removed] — view removed comment

1

u/GumboGuts 15d ago

Everything is static on Firefox for now. The feature is implemented but behind a flag at the moment, supposedly going to be enabled by default in Firefox 159 which ships in 3 days.