Video wird geladen...
Video konnte nicht geladen werden
This works by using: - normal border-radius - a ::before pseudo-element for the tab - Framer Motion to handle the drag interaction - a tiny distance-to-progress calculation that updates the border radii
309,845 Aufrufe • vor 2 Monaten •via X (Twitter)
36 Kommentare

That's cool. I built it a while ago. The biggest challenge is syncing it with nonlinear transitions:

ufff this is so goooood!

🙌thanks

recreated it using clip-path , this was a fun exercise for my frontend skills .

theres a point where it gets too pointy on the slide, i wonder if that can be fixed

This reminds me of the technique I used and explain in my how to round svg polygons @observablehq notebook:

Sooo good

really cool!

Very nice! Add smoothing to the curves (squircle style) and it’ll look even more organic I bet

Will do!

thank you for this

amazing post thank you

would you mind sharing what you created this animation with? it's so effective for explaining things!

Preety cool, the amount of details is crazy

So smooth!

superb

soo tufff

The devil is in the details. 😫

love your attention on details. gonna feature this on

That distance to progress trick is such a clever way to handle the drag.

that's beautiful

yes thank you so much for the debug view! so cool (:

Love those details nobody notices, they're what puts the app ahead of competitors.

Love the details

It's really good. 🔥

is there any design reasoning behind why the blue circle is smaller than the red one?

I love this.

sick ! recreating this right now !

This is so cool. Thanks for the clear breakdown

学到了,大佬 Learned something, expert!

Nobody will notice this

Could we have borders around the selected tab and the content area with this approach? I tried this but it got very messy

Distance-to-progress driving the border radii is such a clean trick. Most people overbuild this with SVG morphs — mapping drag distance to radius keeps it buttery and still reads like real material.

So cool!

This is so cool!

woww soo cool kevin 👏
