Yes, theme regions and CSS are what you need.
Basically, from admin/structure/block
you place your menu block into one of your theme's region. And then, with CSS you adjust the style of the region to your needs.
If the HTML structure does not match your needs, you can also alter the page template of your theme (page.html.twig
file).
If this file does not exist in your theme, just copy it from \core\themes\classy\templates\layout\page.html.twig
to themes\yourtheme\templates\optionalsubfolder\page.html.twig
). This file allows you to modify the HTML structure of your page and consequently, the position of your page regions within the HTML.
e.g. If I place my Menu Block into "Sidebar first" region, I know that {{ page.sidebar_first }}
twig variable is the one that contains the display of the menu.