Post

So cool to see such a detailed behind-the-scenes look from someone whose work I really admire! Here are two more demos with swooping transitions that use the image-pair pseudo for the composition instead of the approach described in the article above.

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?