Браузер автоматически устанавливает ширину элемента <body>
, равную ширине окна браузера.
Пример. Если окно вашего браузера имеет ширину 800px, вы можете представить, что браузер вставляет следующее CSS:
body {
width: 800px;
}
Вы не можете увидеть это CSS в своем собственном коде, но оно там, спрятано в браузере. Таким образом, вы правы, полагая, что установка ширины <header>
на 100% означает, что она должна составлять 100% ширины родительского элемента, и именно поэтому это работает в этом случае.