Загрузка видео...

Не удалось загрузить видео

На главную

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 просмотров • 1 год назад •via X (Twitter)

Комментарии: 10

Фото профиля David Hill
David Hill1 год назад

Clever sausage 🙌🏻

Фото профиля Kian Bazza
Kian Bazza1 год назад

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

Фото профиля Patrick ✦
Patrick ✦1 год назад

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

Фото профиля ahmet
ahmet1 год назад

hey what software do you use to record your screen?

Фото профиля Chris Lane Jones
Chris Lane Jones1 год назад

This is out of this world, for real!

Фото профиля Igor bedesqui
Igor bedesqui1 год назад

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

Фото профиля artTILT
artTILT1 год назад

These are great. Nice work!

Фото профиля sohey.eth (on farcaster)
sohey.eth (on farcaster)1 год назад

Ooft 😮‍💨

Фото профиля Tom Menezes
Tom Menezes1 год назад

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

Фото профиля typesafeui 😶‍🌫️
typesafeui 😶‍🌫️1 год назад

🍳

Похожие видео

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 просмотров • 2 лет назад