Когда вы устанавливаете что-либо как абсолютно позиционированное, вы вынимаете это из потока документов. Это означает, что он перестает влиять на макет других элементов.
Здесь, поскольку вы установили абсолютно все содержимое <header>
в отношении механизма компоновки, внутри ничего нет <header>
, поэтому его высота будет равна нулю. Это приводит к тому, что <main>
располагается в самом верху, потому что над ним ничего не занимает место.
Если вам нужен заголовок с некоторым содержимым слева, а другим справа, рассмотрите возможность использования flexbox или CSS сетка, чтобы выложить содержимое <header>
. Абсолютное позиционирование не является правильным способом сделать это.