Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

Neat trick here is how you "split" the CTA ✨ Pseudoelements in CSS will pick up pointer events 👀 When the Nav is collapsed, scale up a pseudoelement on the CTA so it's like the CTA takes up all the space 😎 Check out the purple highlighted pseudo 👇

77,094 Aufrufe • vor 2 Jahren •via X (Twitter)

10 Kommentare

Profilbild von Arc Terminus
Arc Terminusvor 2 Jahren

At this point your posts are about 90% of my bookmarks.

Profilbild von jhey ▲🐻🎈
jhey ▲🐻🎈vor 2 Jahren

@lee_marjon jheymarks™ 😅

Profilbild von Mery
Meryvor 2 Jahren

Never seen this kinda animation in a website before. So so cool

Profilbild von jhey ▲🐻🎈
jhey ▲🐻🎈vor 2 Jahren

Definitely a fun opportunity to mess with some of the new stuff 😁 Interesting problem here is that it needs to appear like a clickable button before revealing the navigation 🤓

Profilbild von liro crocodilo
liro crocodilovor 2 Jahren

@buenomrl

Profilbild von Sebastian
Sebastianvor 2 Jahren

so good dude

Profilbild von jhey ▲🐻🎈
jhey ▲🐻🎈vor 2 Jahren

🤙🤙🤙

Profilbild von Patrick Petcu
Patrick Petcuvor 2 Jahren

@learnframer is this possible in framer? Looks wild and awesome. Would love to see you give it a try!

Profilbild von Design With Ay
Design With Ayvor 2 Jahren

Oh man this is so cool!

Profilbild von jhey ▲🐻🎈
jhey ▲🐻🎈vor 2 Jahren

🙏🙏🙏

Ähnliche Videos

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,003 Aufrufe • vor 2 Jahren