When setting your display to flex, you could simply use the flex
property to mark which content can grow and which content cannot.
div.content {_x000D_
height: 300px;_x000D_
display: flex;_x000D_
flex-direction: column;_x000D_
}_x000D_
_x000D_
div.up {_x000D_
flex: 1;_x000D_
}_x000D_
_x000D_
div.down {_x000D_
flex: none;_x000D_
}
_x000D_
<div class="content">_x000D_
<div class="up">_x000D_
<h1>heading 1</h1>_x000D_
<h2>heading 2</h2>_x000D_
<p>Some more or less text</p>_x000D_
</div>_x000D_
_x000D_
<div class="down">_x000D_
<a href="/" class="button">Click me</a>_x000D_
</div>_x000D_
</div>
_x000D_