I wouldn’t do display: flex; on body so #1 for me You should stay away from applying layout styles to body and specially from appending HTML nodes to it. Consider this as a root folder and many other services (incl. those beyond your control) will use it, so it’s a good idea to have your div.wrapper as your home where you can do whatever you want The only thing that I wouldn’t limit my home to 300px, if you need some 300px-space put it inside .wrapper