JSFiddle - React, Tailwind, and code Playground
HTML
<div class="lhs flex-container-v">
<header class="flex-fixed">Header</header>
<div class="flex-fill list-container">
<ul>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</div>
<footer class="flex-fixed">Footer</footer>
</div>
CSS
.flex-container-v {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: -ms-flex;
display: flex;
-webkit-flex-direction: column;
-moz-flex-direction: column;
-ms-flex-direction: column;
flex-direction: column;
}
.flex-fill {
-webkit-flex: 0 1 auto;
-moz-flex: 0 1 auto;
-ms-flex: 0 1 auto;
flex: 0 1 auto;
}
.flex-fixed {
-webkit-flex: 0 0 auto;
-moz-flex: 0 0 auto;
-ms-flex: 0 0 auto;
flex: 0 0 auto;
}
.lhs {
position: absolute;
top: 8px;
left: 8px;
width: 300px;
max-height: 200px;
border: 1px solid red;
overflow: hidden;
}
.list-container {
overflow-y: scroll;
}