正在加载视频...

视频加载失败

Probably old news now, but the CSS View Transition API is SUPER cool! Entry/exit layout animations like this used to be super complicated or require giant libraries. Now it's like 2 lines of JS, and a few lines of CSS if you want to customize the animation. Amazing! 🤯

98,000 次观看 • 2 年前 •via X (Twitter)

10 条评论

Devon Govett 的头像
Devon Govett2 年前

Code:

Kushagra Gour @css_battle 的头像
Kushagra Gour @css_battle2 年前

yes! And here's a demo without the performance hit of using flushSync

Devon Govett 的头像
Devon Govett2 年前

flushSync is fine. This is the exact type of thing it is designed for. Actually in this case it may even be faster. When startViewTransition is called it freezes the DOM to take a snapshot. Flushing synchronously reduces the time the page is frozen because updates occur immediately rather than waiting unnecessarily.

Jim Meyer 的头像
Jim Meyer2 年前

Super clean. I immediately tried clicking the add button before the current transition had finished, finding that it then ignores that click. Limitation of freezing the DOM, or is there a way to stack the transitions?

Devon Govett 的头像
Devon Govett2 年前

Yeah it’s a limitation of the current API but I think the spec authors are aware of it so hopefully it’ll get better eventually

Mostafa 的头像
Mostafa2 年前

Is using the "flushSync" recommended for lists?

Devon Govett 的头像
Devon Govett2 年前

In this case it’s required for the view transition to take effect. The DOM updates have to occur inside that callback

Ismal Zikri 的头像
Ismal Zikri2 年前

can you drop that link pls? pretty excited to try it ...

Devon Govett 的头像
Devon Govett2 年前

No problem

Nate Smith 的头像
Nate Smith2 年前

Very very cool!

相关视频