Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

Scroll velocity CSS text-shadow 📜 1. Animate 2 custom properties on scroll 2. Transition one of the property values 3. Use the diff (velocity) for the text-shadow position 🤙 A CSS take on it.

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

10 Yorum

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

the gist 👇

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

Hmm 🤔

Nir Galon profil fotoğrafı
Nir Galon1 yıl önce

😳 I didn’t decide yet if it’s beautiful or cringe, but I’m at 🤤 state in front of this post..

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

Ha - Yeah, it was just a mess around to see if it would work 😅

👻 Darío Gutiérrez 🎃 profil fotoğrafı
👻 Darío Gutiérrez 🎃1 yıl önce

Kwel effect!! Thanks for the gist.

Mick Coelho profil fotoğrafı
Mick Coelho1 yıl önce

Wondering what that'd look like to create motion blur.

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

That's a good idea 💡 Perhaps with a filter intensity that gets applied 🤔

sanket profil fotoğrafı
sanket1 yıl önce

wow

EIO profil fotoğrafı
EIO1 yıl önce

Could you add svg filters to complete that effect?

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

Yeah - Wonder if splitting to multiple elements, using translate, and then applying a filter could be a move 🤔

Benzer Videolar

CSS Tip! 🍬 You can create a CSS-only sticky CTA using position: sticky or scroll-driven animations 🤙 .cta { position: sticky; margin-top: 110vh; bottom: 2rem; /* 👈 Stick! */ } This is one way 👀 This first way relies on you setting a layout on the body and putting the CTA in a zero-space part of the layout body { display: grid; grid-template-columns: auto 0; } The children of the body are an element with your content and then the CTA. You could also use display:flex too. .content { flex: 1 0 100%; } .cta { place-self: end; } As you scroll the body, the CTA comes into view and sticks in position 🙌 That's one way. If you want to take it further and do something like flip between showing or not, maybe scale it up, or add some special easing, etc. an animation is another way 📜 First, change the styles for your CTA. Note the translate property that's powered by a custom property .cta { position: fixed; bottom: 2rem; right: 2rem; translate: 0 calc(20vh - (var(--show) * 20vh)); transition: translate 0.875s var(--elastic); } Next you need a custom property that you're going to animate @​property --show { inherits: true; initial-value: 0; syntax: ' '; } Lastly, you animate this value on the body. As the property value changes, the value will trickle down to the CTA @​supports (animation-timeline: scroll()) { body { animation: show-cta both steps(1); animation-timeline: scroll(root); animation-range: 0 10vh; } @​keyframes show-cta { to { --show: 1; } } } Using @​supports you can use this as a progressive enhancement. If scroll-driven animations are supported, use them. Otherwise fallback to using position: sticky 🤙 That's it! As always, any questions or requests, hit me up! 🙏 CodePen.IO link below! 👇

jhey ʕ•ᴥ•ʔ

132,979 görüntüleme • 2 yıl önce