There difficulties with the fact that normally if you using css and modern layouts your div are not having absolute positioning
and therefore cannot be animated
There are some js fiddles here - but its quite complex
Phantom object move on oversurface
https://codepen.io/VictoriaLa/pen/gORvdJo This technique creates clone of the object it moves it on another surface. It works well even when parents have css transforms applied such as scale and rotate
Move object directly using positioning
https://codepen.io/VictoriaLa/pen/dyzgKVX This technique is modification of BGA framework method to allow mobile object not to have absolute position before or after the move (and uses css animation not dojo). Methods slideToObjectRelative, attachToNewObjectNoDestroy
Both example above are 100% Vanilla JS - free of dojo or any other libs.