You can use scroll-driven animations to progressively enhance collapsing a floating call to action 🤏

Опубликовано: 24 Март 2026
на канале: 3SD Code
66
3

CSS Tip! 📜

You can use scroll-driven animations to progressively enhance collapsing a floating call to action 🤏

.cta {
animation: shrink;
animation-timeline: scroll();
animation-range: 0 100px;
}
@​keyframes shrink {
to { width: 48px; }
}

That's the gist of it. Use the body scroll position with animation-timeline: scroll(). Define the animation-range as when you have scrolled 100px.

There's a little more though 🤓

That would "scrub" the width animation. Ideally, you want to trigger that animation. You could animate a custom property with steps() timing and use that to define the width ✨

@​property --scrub {
syntax: 'number';
inherits: true;
initial-value: 0;
}
body {
animation: scrub both steps(1, end);
animation-timeline: scroll();
animation-range: 0 100px;
}

Then transition the --scrub property on the CTA and use it for the width 🤙

.cta {
transition: --scrub 0.2s;
width: calc(48px + (120px * (1 - (var(--scrub) / 100))));
}

Other animations are a matter of preference and timing. For example, you could then make the hand wave, scale down the size, and then slide a gradient across 😉

They have the same structure and technique as the original concept. Waving the hand? 👋 Run it twice, offset the transform-origin.

.hand {
animation: wave both linear 2;
animation-timeline: scroll();
animation-range: 30vh 50vh;
transform-origin: 65% 75%;
}
@​keyframes wave {
50% { rotate: 20deg; }
}

How's it progressively enhanced? Wrap everything in a @​supports query and a @​media query. If there isn't support, users still get a good experience. It's a floating action button that's circular and already collapsed 🤙

@​supports(animation-timeline: scroll()) {
@​media(prefers-reduced-motion: no-preference) {...}
}

Definitely have a play with the code. It's amazing what we're going to be able to do with CSS alone! 🔥|

#ytshorts #html #css #javascript #programming #trendingshorts #trend #youtubeshort #ytshort #yt #ytshortsindia #shortsvideo #shorts #shortsfeed #shortfeed #viral #trending #viral #ui #webdevelopment #website #webdesign #webdeveloper #webdesigner #web3 #html #html5 #codepen #css #css3 #javascript #jquery #angular #react #creative #creativity #video #videos #vlog #vlogs

🎯 SUBSCRIBE to get more amazing AI Videos!

► https://www.youtube.com/@3sdcode?sub_...

Live Demo and Source Code: https://codepen.io/jh3y/pen/mdvYeXZ

Video Credit By:   / jh3yy