Создание двухколоночной разметки - семантика html / css

Я хочу создать очень простой жидкостный макет с 2 столбцами - один слева будет иметь фиксированную ширину, а другой справа будет зависеть от размера окна.

Макет будет содержать 4 элемента - верхний колонтитул, навигацию, контент и нижний колонтитул.

У меня есть пара вопросов в соответствии с семантикой элементов HTML5 здесь.

Это код:

<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) Действительно ли контейнерный div необходим? Что я делаю: HTML имеет свойства font / lineheight. BODY имеет некоторые поля и фоновые изображения. CONTAINER содержит остальное.

Это нормально. поместить body body в html и сделать body контейнером?

2) Нужны ли внутренние div в заголовке, nav, ...? Они там, потому что я могу изменить отступы, поля и границы, не меняя ширину элемента. Должен ли я установить эту ширину вместе с каждым изменением?

Ответы на вопрос(4)

Ваш ответ на вопрос