Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Scrolling parallax cards with CSS scroll animation 📜 article { scale: 0.8; animation: scale; animation-timeline: view(inline); animation-range: cover 40% cover 60%; } @​keyframes scale { 50% { scale: 1; }}

95,630 görüntüleme • 2 yıl önce •via X (Twitter)

10 Yorum

Wilson Hou profil fotoğrafı
Wilson Hou2 yıl önce

this looks so good cries in caniuse

Bug Buster 🐞 CLONE profil fotoğrafı
Bug Buster 🐞 CLONE2 yıl önce

Codepen link?

Fat Bytes profil fotoğrafı
Fat Bytes2 yıl önce

Do you have a course?

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

I'll start working on it in Q3 🤙 That and hopefully a book 🤞

John profil fotoğrafı
John1 yıl önce

Cool

Januario profil fotoğrafı
Januario2 yıl önce

And you still have time for your wife, job, workouts... The productivity is insane.

Matt Stoffel profil fotoğrafı
Matt Stoffel2 yıl önce

Wow

SamAGI profil fotoğrafı
SamAGI2 yıl önce

👍

nszbf profil fotoğrafı
nszbf2 yıl önce

🥳

Tyrone C. profil fotoğrafı
Tyrone C.2 yıl önce

So smooth 🔥

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

Future CSS Tip! 🍏 You can create this Apple-style photo scroller by combining CSS scroll-driven animations and CSS scroll-snap 😍 Peep those changing captions 👀 No JS! img { animation: highlight both linear; animation-timeline: view(inline); 👈 Horizontal animation-range: cover 0% cover 50%; 👈 Finish } @ keyframes highlight { 50% { translate: 0 0; scale: var(--starting-scale); 👈 props opacity: var(--starting-opacity); 👈 } 100% { translate: 0 0; scale: 1; opacity: 1; } } Without the animation support, you get a standard unordered list containing some s 🤙 How do we swap the captions though? The "trick" is to use position: absolute on the figcaption and animate their opacity based on the ViewTimeline of their parent list item 😎 figcaption { animation: show both linear; animation-timeline: --list-item; } @ keyframes show { 0%, 45%, 55%, 100% { opacity: 0; } 50% { opacity: 1; } } li { view-timeline-name: --list-item; view-timeline-axis: inline; 👈 important! } The parent of the scroll track uses position: relative so all the captions sit in the middle even though they are in the right place for the markup 🙌 The last bit is the scroll-snap 🤙 Not much to it at all. Wrap the list and make it scrollable. Then add scroll-snap-type .wrapper { scroll-snap-type: x mandatory; overflow-x: scroll; } Then make sure each list item has scroll-snap-align set on it li { scroll-snap-align: center; } That's it! Pretty cool demo to put together and see how to do this stuff with these APIs 🤓 A lot of cool little tricks to pick up for writing your CSS! ⭐️ CodePen.IO link below! 👇

jhey ʕ•ᴥ•ʔ

232,131 görüntüleme • 2 yıl önce