В основном это был ответ перед .Вы бы использовали flexbox flex-column
flex-grow-1
(или flex-fill
) служебные классы .
<div class="container-fluid min-vh-100 d-flex flex-column">
<div class="row bg-primary">
<div class="col">
<p>Here is going to be some content. Height of this content is auto it can change based on what it has inside.</p>
<p>For instance two paragraphs.</p>
</div>
</div>
<div class="row mt-2 bg-warning d-flex flex-column flex-grow-1">
<div class="col h-100 d-flex flex-column">
<div class="nav nav-tabs" id="nav-tab" role="tablist">
<a class="nav-item nav-link active" id="tab1-nav" data-toggle="tab" href="#tab1" role="tab" aria-controls="nav-tab1" aria-selected="true">Tab 1</a>
<a class="nav-item nav-link" id="tab2-nav" data-toggle="tab" href="#tab2" role="tab" aria-controls="nav-tab2" aria-selected="false">Tab 2</a>
</div>
<div class="tab-content flex-grow-1 border border-top-0 mb-2 p-2" id="nav-tabContent">
<div class="tab-pane h-100 show active" id="tab1" role="tabpanel" aria-labelledby="nav-tab1">
<div class="row h-100">
<div class="col">
Content 1
</div>
</div>
</div>
<div class="tab-pane fade" id="tab2" role="tabpanel" aria-labelledby="nav-tab2">
...
</div>
</div>
</div>
</div>
</div>
Демо: https://www.codeply.com/go/rMXJcFPAoh
Обратите внимание, как вы можетеиспользуйте min-vh-100
на контейнере, без необходимости height:100%
на html,body
.
Также см .: Bootstrap 4: Как заставить ряд растянуть оставшуюся высоту?