Loading video...

Video Failed to Load

Go Home

those little details™ Scale up and down on scroll with CSS 📜✨ a { animation: scale, scale; animation-direction: normal, reverse; animation-timeline: view(inline); animation-range: entry, exit; } @​keyframes scale { 0% { scale: 0; } }

245,925 views • 2 years ago •via X (Twitter)

10 Comments

jhey ▲🐻🎈's profile picture
jhey ▲🐻🎈2 years ago

Here's that @CodePen link! 🚀 Wanted to make sure there was a "JavaScript fallback" if you wanted to try it out in other browsers 🤙

Simon Vrachliotis's profile picture
Simon Vrachliotis2 years ago

Amazing - only ever considered the vertical scroll animations but this is a great use case!

jhey ▲🐻🎈's profile picture
jhey ▲🐻🎈2 years ago

Definitely some other fun ones to throw together 😁 Been having to explore the depths of the web 😅

Fahir's profile picture
Fahir2 years ago

wow This is so smooth. Tnx for sharing!

RobotJason's profile picture
RobotJason2 years ago

Looks like the Starbucks and Reddit logos are “negatives”. Love what you’ve done here! 👌

jhey ▲🐻🎈's profile picture
jhey ▲🐻🎈2 years ago

You're totally right! Whipped these from 👇

Sick Bard's profile picture
Sick Bard2 years ago

Impressive codepen as always... Are you making these on coffee breaks? How do you find the time!

Kai | herostuff.com's profile picture
Kai | herostuff.com2 years ago

YUM

altskin's profile picture
altskin2 years ago

Nice. Can they blur and fade in/out at the edges?

Fredrik Tibbling's profile picture
Fredrik Tibbling2 years ago

Great stuff! ✨

Related Videos

CSS Tip! 🐳 You can add little details like this scale down on scroll effect with scroll-driven animations and some sticky positioning 🤙 section { animation: scale-down; animation-timeline: view(); animation-range: exit; } @​keyframes scale-down { to { scale 0.8; } ] In this smaller example, you can lean into using the position to drive an animation that scales itself down as it leaves the viewport (Seen on the Apple Vision Pro site 🍏) The nice thing here is that if you don't have scroll-driven animations, the user still gets a good experience ✨ So how do you do it? There isn't much to it header { transform-origin: 50% 0%; animation: scale-down both ease-in; animation-timeline: view(); animation-range: exit; view-timeline: --header; } @​keyframes scale-down { to { scale: 0.8 0.8; } } That's it. The layout makes use of position: sticky so that the element stays in the shot whilst you scroll the page. As it leaves the page, it scales down inside the 🫶 The other smol animation here is fading the overlay on the video out 😎 Real easy. You may notice the view-timeline you defined above for the 👀 header { view-timeline: --header; } You have a pseudoelement on the text content of the header that lives inside a header > section::before { background: hsl(0 0% 0% / 0.75); opacity: 1; animation: fade both linear; animation-timeline: --header; animation-range: exit-crossing 0% exit 0%; } @​keyframes fade { to { opacity: 0; } } You use a slightly smaller range on this with exit-crossing to fade it out before you start the scale down animation 🤏 That's it! Thought this smaller example would be easier to grok for people 🙏 It's also covered with JavaScript if you really want it for your sites 🤙 CodePen.IO link below 👇

jhey ʕ•ᴥ•ʔ

146,064 views • 2 years ago