Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

CSS scroll-driven "CTA to Nav" 🗺️ nav { grid-template-columns: auto calc(var(--grow) * 240px) auto; transition: 1s var(--custom); } @​keyframes expand { to { --expand: 1; } } body { animation: expand steps(1); animation-timeline: --hero; animation-range: exit; }

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

11 Yorum

Marc Grabanski profil fotoğrafı
Marc Grabanski2 yıl önce

Hope you make tons of $ off the book. You know I’m buying it!

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

If it ever materializes 😅 Maybe I should do a Kickstarter haha. Saw someone doing that for a component library the other day!

yaf profil fotoğrafı
yaf2 yıl önce

i need to create a bookmark folder just for your post man

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

@pengenradiant Will be easier when I finally make a website for them all

Xi profil fotoğrafı
Xi2 yıl önce

damn. damn what's the limit... i need to get these bookmarks in a folder. brilliant

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

I need to make a site for them 🧑‍🍳

Israel 🤖 profil fotoğrafı
Israel 🤖2 yıl önce

@aneriemmanuel 🤲.. for the landing page cta to nav

Atif Riaz profil fotoğrafı
Atif Riaz2 yıl önce

Done beautifully 😍

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

Thanks Atif 🤙

Kristopher Fana profil fotoğrafı
Kristopher Fana2 yıl önce

Man you’re a hero!

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

🤙

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 ʕ•ᴥ•ʔ

133,020 görüntüleme • 2 yıl önce