フレックスボックスを使用できます。 flex-grow
プロパティを使用すると、フレキシブルアイテムが成長して残りのスペースを埋めることができます。
.container {
height: 200px;
width: 100px;
border: 2px;
border-style: solid;
display: flex;
flex-direction: column;
}
.content {
flex: 80%; /* Start at 80%, then grow to fill remaining space */
overflow: auto; /* In case contents are too tall */
}
.footer {
flex: 20%; /* Start at 20%, then grow to fill remaining space */
overflow: auto; /* In case contents are too tall */
}
<div class="container">
<div class="content">
Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br>
</div>
<div class="footer">
Footer
</div>
</div>
<hr />
<div class="container">
<div class="content">
Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br> Content<br>
</div>
</div>