Flexbox fi
by scrimothy
HTML
<div class="container">
<header>Header</header>
<div class="body">
<div class="body-content">Body (scrollable)</div>
</div>
<footer>Footer</footer>
</div>
CSS
.container {
display: flex;
flex-direction: column;
overflow: hidden;
}
.body {
flex: 1 1 auto;
overflow: auto;
}
header,
footer {
flex: 0 0 auto;
}
/* presentation styles only */
.container {
height: 250px;
width: 250px;
border: 2px solid gray;
}
.body {
padding: 12px;
}
.body-content {
height: 5000px;
}
header,
footer {
flex: 0 0 auto;
padding: 12px;
border: 1px dashed magenta;
}