I am applying Flexbox concepts but there is something I am struggling with here, I applied display: flex; and applied the direction to be column.
Now as the main axis is column I made justify-content as space between but this space between is not applied to make space between navbar and section-main and footer.
.page-container {
display: flex;
flex-direction: column;
justify-content: space-between;
}
.navbar {
display: flex;
flex-direction: row;
justify-content: space-between;
}
.section-main {
display: flex;
flex-direction: row;
justify-content: space-between;
}
<html>
<body>
<div class="page-container">
<div class="navbar">
<div class="brand">
Oka brand
</div>
<div class="nav-buttons">
nav buttons
</div>
</div>
<div class="section-main">
<div class="left-nav">
left nav
</div>
<div class="middle-section">
middle section
</div>
<div class="right-nav">
nav icons
</div>
</div>
<div class="footer">
footer
</div>
</div>
</body>
</html>
heightforpage-containerexplicitly.heightfor the.page-containerto use it to split space evenly between the flex elements. You'll have to declare theheightexplicitly (min-heightwould be better) .