Вы установили body
на display: flex
. Направление флексбокса по умолчанию: row
. Вот почему ваша страница отображается слева направо. Чтобы изменить это, чтобы ваш родитель Flex отображал свои дочерние элементы в столбце, добавьте эту строку в body
:
body {
…
flex-direction: column;
}
Вот небольшая демонстрация, которая поможет проиллюстрировать изменение flex-direction
с row
(по умолчанию ) до column
.
const container = document.querySelector(".container");
document.querySelector("button").addEventListener("click", () => {
container.classList.toggle("column");
});
.container {
min-height: 100vh;
display: flex;
}
.container.column {
flex-direction: column;
}
.container > div {
flex: 1;
}
.left {
background-color: gray;
}
.right {
background-color: yellow;
}
button {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
padding: 1em 1.5em;
}
html, body { margin: 0; }
<div class="container">
<div class="left"></div>
<div class="right"></div>
</div>
<button type="button">Change flex direction</button>