Loading video...

Video Failed to Load

Go Home

Scroll snap + scroll driven animation carousel 💡 in the mobile size it looks a lot like the iOS app switcher eh? try it!?

22,607 views • 1 year ago •via X (Twitter)

7 Comments

Adam Argyle's profile picture
Adam Argyle1 year ago

Rad on the Pixel Fold

Mathias Rando Juul's profile picture
Mathias Rando Juul1 year ago

It’s kind of ironic that it doesn’t work on iOS, though 😅 Hopefully much wider support for “native app feeling improving” features will follow with iOS 18 🤞

Adam Argyle's profile picture
Adam Argyle1 year ago

They'll get there, it's a web standard, and a super rad one at that

Arby's profile picture
Arby1 year ago

The legend! 🫶

Jamie Mason's profile picture
Jamie Mason1 year ago

that's gorgeous

Jonathan Hamilton's profile picture
Jonathan Hamilton1 year ago

I'm going to have to do some homework on this on to figure out how this is working 😅

Harsh Gupta's profile picture
Harsh Gupta1 year ago

Will definitely use this!

Related Videos

CSS Trick! ⚡️ You can use scroll-driven animation with background-attachment to create a dynamic glowing card scroller without JS 🔥 section { animation:vibe; animation-timeline:--list; } @​keyframes vibe { to{--hue:320;}} .glow {background: hsl(var(--hue) 80% 50%);} Here's how! 🤙 You can use the background-attachment trick used in other glow card demos 😎 article { background-attachment: fixed; } The difference here is that you aren't going to update the fixed background position with your pointer this time. It can remain fixed. The magic part is that as you scroll, the background will leave the card that's leaving and enter the card that's entering ✨ For the extra background glow, you can use a fixed pseudo element on the list container itself 💪 Once that's in place, you're only task is to change the color of the background as you scroll 🤔 Create a custom property declaration for the --hue @​property --base { inherits: true; syntax: ' '; initial-value: 0; } Then create an animation that updates this value @​keyframes accent { to { --hue: 320; }} The last piece is hooking it up to scroll and there is a little trick in here 👀 First, you need an inline scroll-timeline on the list ul { scroll-timeline: --list inline; } Then you can use timeline-scope to hoist that scroll-timeline up so a parent can use it. You then animate the custom property on this element and let the value cascade down to the places that need it 🔥 section { timeline-scope: --list; animation: accent both linear; animation-timeline: --list; } For example, the glow uses the --hue this way [data-glow] { background-image: radial-gradient( 150px 150px at 50% 50%, hsl(var(--hue) 100% 70% / 0.25), transparent ); } Lastly, scroll-snap is optional of course but plays nice with the scroll-driven animation demos ✨ The key for that is ul { scroll-snap-type: x mandatory; } li { scroll-snap-align: center; } That's it! Pretty fun trick to play with! 🤓 Any questions, let me know! Should we add it to the video walkthrough list? CodePen.IO link below! 👇

jhey ʕ•ᴥ•ʔ

116,462 views • 2 years ago