Post

My approach there only works with elements that don’t change size between the old and new state though. To deal with that, throw more code at it and extract the needed info from the generated keyframes. Then adjust the `transform` with that info. See www.bram.us/2025/03/04/v... for details.

bram.usView Transitions Applied: Dealing with the Snapshot Containing BlockBeware when manipulating the coordinates of the View Transition’s ::view-transition-group(*) pseudo. Depending on where you read those coordinates from, you might end up with layout jumps when writing...

Also, I’m working on something to automate this all for you … bsky.app/profile/bram... 😉

Bramus@bram.us

Here’s an updated version of that first demo, using a technique @kvndy.bsky.social taught me: relative animations. The path the dot follows is much smoother now as it doesn’t get interrupted at its mid-flight location but, instead, the new animation gets added to the existing ones. However …

Be very cool if it enabled custom easing or durations per transform 😅 Would need separate keyframes per transform yeah?

0 reposts1 like

Yep, it's stacking one animation upon the other, each with their own easing … which can be whatever you want 😊