Tworzenie układu dwóch kolumn - semantyka html / css

Chcę stworzyć bardzo prosty układ cieczy z 2 kolumnami - jedna po lewej będzie miała stałą szerokość, a ta po prawej będzie zależna od rozmiaru okna.

Układ będzie zawierał 4 elementy - nagłówek, nawigację, zawartość i stopkę.

Mam tutaj kilka pytań zgodnych z semantyką elementów HTML5.

To jest kod:

<body>
   <div id="container">
       <header>
          <div id="header">
             sadfsdf
          </div>
       </header>
       <nav>
          <div id="nav">
             gdfsgf
          </div>
       </nav>
       <article>
          <div id="article">
             gdffgdg
          </div>
       </article>
       <footer>
          <div id="footer">
             gdfsgf
          </div>   
       </footer>
   </div>
</body>

1) Czy kontener div jest naprawdę potrzebny? Co robię: HTML ma właściwości czcionki / wysokości linii BODY ma niektóre marginesy, a obrazy tła KONTAKTER zawiera resztę

Czy to jest w porządku. umieścić rzeczy wewnątrz html i sprawić, by ciało stało się pojemnikiem?

2) Czy wewnętrzne div w nagłówku, nav, ... są konieczne? Są tam, ponieważ mogę zmienić dopełnienie, marginesy i obramowania bez zmiany szerokości elementu. Czy powinienem raczej ustawić tę szerokość wraz z każdą zmianą?

questionAnswers(4)

yourAnswerToTheQuestion