Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

#CSS feature faceoff: scroll triggered stuck nav (left) vs scroll driven animation nav (right) which do you prefer? try it (use Canary for the scroll-state() support)

12,330 Aufrufe • vor 1 Jahr •via X (Twitter)

11 Kommentare

Profilbild von Brandon McConnell
Brandon McConnellvor 1 Jahr

Left, personally I still wish there was an easier way to do something like :stuck but I understand the reasoning behind not doing it In my own codebase, I actually support :stuck in tailwind via a custom `stuck` variant that uses JS IntersectionObserver API behind the scenes 😁

Profilbild von Adam Argyle
Adam Argylevor 1 Jahr

scroll-state(stuck: top) is pretty easy But yeah, not a one liner

Profilbild von CodeRabbit
CodeRabbitvor 2 Jahren

AI-first pull request reviewer with context-aware feedback, line-by-line code suggestions, and real-time chat.

Profilbild von John Riordan
John Riordanvor 1 Jahr

Like all of the other replies this example is designed for trigger. Driven animations I'd argue are for cases where every individual intermediate frame is equally "correct"/desired. I feel like a lot of the driven examples Ive seen are actually subtly trying to be triggered

Profilbild von Adam Argyle
Adam Argylevor 1 Jahr

Agree! but I also see the inverse, a page covered in triggered animations that woulda been better linked

Profilbild von Ryan Leichty
Ryan Leichtyvor 1 Jahr

The in-between state of the scroll driven animation isn’t very pleasant. I would only want background or no background with a transition between states

Profilbild von @css@tech.lgbt 🏳️‍🌈🏳️‍⚧️☭🌍🌹🕊️🌈🖖
@[email protected] 🏳️‍🌈🏳️‍⚧️☭🌍🌹🕊️🌈🖖vor 1 Jahr

Couldn't you set the right one to trigger after 1px though?

Profilbild von Adam Argyle
Adam Argylevor 1 Jahr

Yep, but sorta.. it could easily make it visible, but it can't simply trigger an interruptible opacity transition. to trigger a transition, you gotta do some tricky work, as it's unnatural to how scroll driven animations work

Profilbild von Daniel Vaughn
Daniel Vaughnvor 1 Jahr

I prefer right, it feels more obvious what is going on. Left feels too abrupt

Profilbild von Martin Bean
Martin Beanvor 1 Jahr

Neither. I absolutely hate web pages where things like headers change opacity, or shrink/grow as soon as I start scrolling.

Profilbild von Fabrizio Calderan
Fabrizio Calderanvor 1 Jahr

I prefer the left one, but I would also change the colors of the login button when the header is white

Ähnliche Videos

Future CSS Tip! 🍏 You can create this Apple-style photo scroller by combining CSS scroll-driven animations and CSS scroll-snap 😍 Peep those changing captions 👀 No JS! img { animation: highlight both linear; animation-timeline: view(inline); 👈 Horizontal animation-range: cover 0% cover 50%; 👈 Finish } @ keyframes highlight { 50% { translate: 0 0; scale: var(--starting-scale); 👈 props opacity: var(--starting-opacity); 👈 } 100% { translate: 0 0; scale: 1; opacity: 1; } } Without the animation support, you get a standard unordered list containing some s 🤙 How do we swap the captions though? The "trick" is to use position: absolute on the figcaption and animate their opacity based on the ViewTimeline of their parent list item 😎 figcaption { animation: show both linear; animation-timeline: --list-item; } @ keyframes show { 0%, 45%, 55%, 100% { opacity: 0; } 50% { opacity: 1; } } li { view-timeline-name: --list-item; view-timeline-axis: inline; 👈 important! } The parent of the scroll track uses position: relative so all the captions sit in the middle even though they are in the right place for the markup 🙌 The last bit is the scroll-snap 🤙 Not much to it at all. Wrap the list and make it scrollable. Then add scroll-snap-type .wrapper { scroll-snap-type: x mandatory; overflow-x: scroll; } Then make sure each list item has scroll-snap-align set on it li { scroll-snap-align: center; } That's it! Pretty cool demo to put together and see how to do this stuff with these APIs 🤓 A lot of cool little tricks to pick up for writing your CSS! ⭐️ CodePen.IO link below! 👇

jhey ʕ•ᴥ•ʔ

234,583 Aufrufe • vor 2 Jahren