Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

you can create this dynamic mask using a progressive CSS scroll-driven animation 🧑‍🍳 the gist 👇 input { animation: in; animation-timeline: scroll(self inline); animation-range: 0 6ch; mask-position: 0 0; } @​keyframes in { 0% { mask-position: -6ch 0; }}

125,904 görüntüleme • 1 yıl önce •via X (Twitter)

5 Yorum

Sam Becker profil fotoğrafı
Sam Becker1 yıl önce

So rad! Would this work for any container with content that overflows?

jhey ▲🐻🎈 profil fotoğrafı
jhey ▲🐻🎈1 yıl önce

yep – as a progressive enhancement currently 🥲 adaptation of this one but couldn't resist with that neat design as an opportunity for scroll(self inline) 🤓

César Couto profil fotoğrafı
César Couto1 yıl önce

Smooth and lovely detail to add to inputs ;)

abelardoit🐦 profil fotoğrafı
abelardoit🐦1 yıl önce

How did you make the animation returns to the initial position back, please?

Moescape AI profil fotoğrafı
Moescape AI1 yıl önce

Sign up & create wholesome anime art on Moescape AI now!

Benzer Videolar

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 görüntüleme • 2 yıl önce