Я пытаюсь выровнять два div по вертикали, я знаю, как это сделать. Но возникает другая проблема: верхний блок div («верхняя полоса») разрезается пополам, когда я помещаю второй блок под ним, и у меня нет причин, почему. Должен ли я использовать position: absolute для решения этой проблемы? Однако я стараюсь избегать этого, когда могу. Спасибо!
body {
margin: 0;
padding: 0;
background-color: #EFEFEF;
font-family: sans-serif;
}
.homepage-window {
height: 100vh;
display: flex;
}
.nav-bar {
width: 18%;
background-color: #2E3E4E;
}
.top-bar {
height: 8%;
width: 100%;
background-color: white;
border-bottom: 0.5px solid lightgrey;
}
.bottom-bar {
margin-top: 20%;
height: 8%;
width: 100%;
background-color: white;
border-bottom: 0.5px solid lightgrey;
}
/*border-top: 0.5px solid lightgrey;*/<!DOCTYPE html>
<html>
<link rel = "stylesheet" type = "text/css" href = "CSS/Homepage.css">
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<head>
<title>Cold-Ops Homepage</title>
</head>
<body>
<div class = "homepage-window">
<div class = "nav-bar">
</div>
<div class = "top-bar">
</div>
<div class = "bottom-bar">
</div>
</div>
</body>
</html>@ user2796515 Нет, это все, что у меня есть.
Их не разрезают пополам, три элемента раскладываются слева направо в контейнере flex. Поскольку у них обоих есть width:100%, браузер должен уменьшить их, чтобы они поместились.
На картинке, которую вы разместили, видно, что div разрезан пополам? Вы имеете в виду разрезать пополам по горизонтали?






Оберните div верхнего и нижнего столбца в другой div-оболочку с шириной: 100%;
<div style = "width: 100%;">
<div class = "top-bar">
</div>
<div class = "bottom-bar">
</div>
</div>
В вашем случае все 3 div помещаются в гибкий контейнер, выравнивая их в одной строке. Вот почему вам нужно сохранить div верхней и нижней панели в другом контейнере div.
body {
margin: 0;
padding: 0;
background-color: #EFEFEF;
font-family: sans-serif;
}
.homepage-window {
height: 100vh;
display: flex;
}
.nav-bar {
width: 18%;
background-color: #2E3E4E;
}
.top-bar {
height: 8%;
width: 100%;
background-color: white;
border-bottom: 0.5px solid lightgrey;
}
.bottom-bar {
margin-top: 20%;
height: 8%;
width: 100%;
background-color: white;
border-bottom: 0.5px solid lightgrey;
}<!DOCTYPE html>
<html>
<link rel = "stylesheet" type = "text/css" href = "CSS/Homepage.css">
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<head>
<title>Cold-Ops Homepage</title>
</head>
<body>
<div class = "homepage-window">
<div class = "nav-bar">
</div>
<div style = "width: 100%;">
<div class = "top-bar">
</div>
<div class = "bottom-bar">
</div>
</div>
</div>
</body>
</html>
Включено ли больше CSS в home.css или это тот CSS, который у вас есть?