Это решение. Обертка div
должна иметь h-100, div
, которая адаптируется к высоте, должна иметь flex-grow-1 и overflow-auto. Таким образом, div
будет увеличиваться, заполняя пространство, когда его содержимое меньше доступного пространства, и будет отображать полосу прокрутки, когда его содержимое превышает доступное пространство.
Демо jsfiddle
<div class="h-100 d-flex flex-column bg-yellow px-2">
<div class="flex-column justify-content-center bg-purple px-2">
<div class="text-white p-0" style="height:50px">HEADER</div>
</div>
<div class="flex-column justify-content-center bg-red text-white px-2 flex-grow-1 overflow-auto">
<div>Item1</div>
<div>Item2</div>
INNER text 1<br>
INNER text 2<br>
</div>
<div class="flex-column justify-content-center bg-darkblue px-2">
<div class="text-white p-0" style="height:50px">FOOTER</div>
</div>