body {
color: white;
}
nav {
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 200px;
overflow: hidden;
}
nav .logo {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60px;
background-color: salmon;
}
nav .navmenu {
margin: 0;
position: absolute;
top: 60px;
left: 0;
right: 0;
bottom: 0;
overflow-y: auto;
padding: 10px 20px;
background-color: pink;
}
.content-wrapper {
position: absolute;
top: 0;
left: 200px;
bottom: 0;
right: 0;
overflow: hidden;
}
.content-wrapper .header {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 60px;
background-color: pink;
}
.content-wrapper .content {
position: absolute;
top: 60px;
left: 0;
right: 0;
bottom: 0;
overflow-y: auto;
padding: 10px 20px;
background-color: rosybrown;
}
.content-wrapper .page {
position: relative;
min-height: 100%;
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-webkit-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.content-wrapper .footer {
margin-top: auto;
height: 30px;
color: brown;
border: 1px solid brown;
background: rgba(255, 255, 255, 0.5);
}
<nav>
<div class="logo">Logo</div>
<ul class="navmenu">
<li>Start page</li>
<li>Menu item 1</li>
<li>Menu item 2</li>
<li>Menu item 3</li>
</ul>
</nav>
<div class="content-wrapper">
<div class="header">
Header
</div>
<div class="content">
<div class="page">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum qui.
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum
qui. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum
qui. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum
qui. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum
qui. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempore quis, temporibus, accusamus facere exercitationem molestiae reprehenderit alias dignissimos quo voluptates deleniti consequatur sunt sequi doloremque dolorem voluptatem ea voluptatum
qui.
<div class="footer">Some footer - it shouldn't overlap with the content if you resize the page</div>
</div>
</div>
</div>