Slide-in/out modal that pushes the page across (desktop view)

Hi all,

I was wondering what is the best approach, on desktop views, for creating a slide-in/out modal that takes up a portion of the page width and also pushes the main page across.

On mobile we can push pages out/back into view but on desktop the only native option is for the overlay to slide-in and cover the content.

The effect I often create, is commonly found on eCommerce websites, where a modal or Minicart might open and push the page across when open. Then slide it back when it’s closed.

How I’ve always handled this is to have 2 artboards. One as the main page and a duplicate which has the content moved the the modal/minicart visible. For the ‘minicart’ to slide-in smoothly with Smart Animate. I need to add the minicart to the initial artboard - but nudged off canvas. Like so…

This does work, it jumps a bit if you scroll down but I haven’t found a better way yet. Any ideas?

I also tried another version where the Artboard has auto-layout which was problematic with the fixed elements but it kinda works - but jumps more than the original.

Look forward to hearing some peoples thoughts!

Hi there,

Thank you for your detailed post and sharing the links. I’ve checked the prototype, but I’m having trouble identifying “the jump” you’ve mentioned. Could you share a screen recording where this issue is visible? It seems to be working fine for me.


1 Like

Ah I think I fixed that after I posted. It was to do with the artboard/frame names (prefix). Starting them with the same ‘name’ fixed that!

I actually think I have all 3 version working now. They seem to work well so I guess which one is best probably depends on the page and how complex it is? But good to have a few options anyways!

1 Like

It’s great to hear that you’ve found a solution on your own! Indeed, as you’ve pointed out, the layer name and hierarchy play a crucial role in smart animation.

You can find more details here:

If you have any more questions or need further clarification, please don’t hesitate to let us know!