JSFiddle - React, Tailwind, and code Playground
HTML
<div class="viewportDiv">
<div class="header">Site header</div>
<div class="remainingDiv">
<div class="mainSite">
<div class="leftNav">
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
<div>item</div>
</div>
<div class="content">
Lorem ipsum dolor sit amet, <br/> consectetur adipiscing elit. <br/>Aliquam vel ullamcorper ligula. Vestibulum nibh arcu, mollis in commodo ut, tristique sed sapien. Cras elementum facilisis consequat. Suspendisse eleifend gravida arcu, a rhoncus mi placerat at. <br/>Cras et vestibulum nulla, at vestibulum arcu. Pellentesque at aliquam turpis. Integer consequat tristique diam scelerisque consequat. <br/>Nullam mattis condimentum diam, sed tincidunt lacus iaculis a. Sed eu ex arcu. <br/>Nullam libero enim, venenatis quis vehicula id, fermentum vitae sapien. Praesent vehicula est id orci rhoncus, <br/>dignissim sodales risus commodo.
Lorem ipsum dolor sit amet, <br/> consectetur adipiscing elit. <br/>Aliquam vel ullamcorper ligula. Vestibulum nibh arcu, mollis in commodo ut, tristique sed sapien. Cras elementum facilisis consequat. Suspendisse eleifend gravida arcu, a rhoncus mi placerat at. <br/>Cras et vestibulum nulla, at vestibulum arcu. Pellentesque at aliquam turpis. Integer consequat tristique diam scelerisque consequat. <br/>Nullam mattis condimentum diam, sed tincidunt lacus iaculis a. Sed eu ex arcu. <br/>Nullam libero enim, venenatis quis vehicula id, fermentum vitae sapien. Praesent vehicula est id orci...
CSS
body {
height: 100%;
margin: 0;
}
.viewportDiv {
display: flex;
flex-flow: column;
height: 100%;
}
.header{
background-color: yellow;
height: 100px;
min-height: 100px;
}
.remainingDiv{
background-color: red;
flex-grow: 1;
}
.mainSite {
display: flex;
flex-direction: row;
flex-grow: 1;
/* max-height: 100px; */
}
.leftNav{
background-color: green;
width: 200px;
overflow-y: scroll;
}
.content {
background-color: grey;
overflow-y: scroll;
}