Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

exploded views with CSS grid + 3D transforms 🤙 [data-explode=true] .layer { translate: 0 0 2rem; } .layer:hover .shadow { opacity: 1 } .shadow:has(+ .layer:hover) { opacity: 0.2; } leverage the cascade 🤌

257,886 Aufrufe • vor 1 Jahr •via X (Twitter)

10 Kommentare

Profilbild von David Hill
David Hillvor 1 Jahr

Clever sausage 🙌🏻

Profilbild von Kian Bazza
Kian Bazzavor 1 Jahr

Very cool, haven’t had the chance to work with 3D transforms. But I will find an excuse to do so

Profilbild von Patrick ✦
Patrick ✦vor 1 Jahr

at this point i'm going to have to make my own jhey(dot)edu website

Profilbild von ahmet
ahmetvor 1 Jahr

hey what software do you use to record your screen?

Profilbild von Chris Lane Jones
Chris Lane Jonesvor 1 Jahr

This is out of this world, for real!

Profilbild von Igor bedesqui
Igor bedesquivor 1 Jahr

I love the idea of just using "layer", codifying the layering model and letting the ui style itself, and now I got even another reason to pursue it??? come on jheyyy

Profilbild von artTILT
artTILTvor 1 Jahr

These are great. Nice work!

Profilbild von sohey.eth (on farcaster)
sohey.eth (on farcaster)vor 1 Jahr

Ooft 😮‍💨

Profilbild von Tom Menezes
Tom Menezesvor 1 Jahr

It’s unfortunate that we never actually go back to the bookmarks because this is actually sick

Profilbild von typesafeui 😶‍🌫️
typesafeui 😶‍🌫️vor 1 Jahr

🍳

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

232,131 Aufrufe • vor 2 Jahren