Salut,
C'est ce qu'on appelle un menu Off-Canvas
Recherche google
Exemples Codrops
Exemple CodePen (j'ai pas checké si le code était propre)
Pour la technique comme tu veux, seulement du js, ou utiliser le js pour switcher des classes css et jouer sur les transitions... Moi je te conseil (pour rester "UX") de déplacer l'intégralité du body, ça parait plus naturel visuellement que d'augmenter la taille du menu, ou de reduire la largeur du contenu de ta page.