正在加载视频...

视频加载失败

CSS Scroll-driven knockout text using SVG filter 🥊 section { filter: url(#​knockout); } section h1 { animation: shrink; } @​keyframes shrink { 0% { scale: 36; }} Animate text scale on a video overlay ✅ Knock out text using SVG filter ✅ Drive with scroll ✅

99,976 次观看 • 1 年前 •via X (Twitter)

9 条评论

jhey ▲🐻🎈 的头像
jhey ▲🐻🎈1 年前

Here's the @CodePen if you wanna play with it 🤙 If you want me to polyfill the scroll stuff with GSAP, lemme know and I'll update the demo 🚀

rawn 的头像
rawn1 年前

clean ass effect but you got to clean up those tabs bro

Dave | Supabase Cult Leader 的头像
Dave | Supabase Cult Leader1 年前

OMG you're the GOAT. i need this.

Stanchev Sergey {💪 的头像
Stanchev Sergey {💪1 年前

Hey @jh3yy , looking awesome, could you please drop a link to this page if you have it. TY

Niklas 的头像
Niklas1 年前

Please, we need a codepen for this 🥹

//pentagear.gg 的头像
//pentagear.gg1 年前

Let's say I have a procedural animation being rendered to a canvas element, rather than a video playing. Can I translate these concepts to work with that instead???

jhey ▲🐻🎈 的头像
jhey ▲🐻🎈1 年前

For real 💯 You can put anything behind it. It's an element with a black background and white color. The SVG filter jus' takes out all the white pixels 🤙

kehinde.code 的头像
kehinde.code1 年前

How is the support on browsers looking like?

Josué Goyret 的头像
Josué Goyret1 年前

No codepen link? 🥲💔 (Amazing effect btw)

相关视频

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 次观看 • 2 年前