利用可能な高さの残りを埋めるために行を引き伸ばすのに苦労しています。行クラスにh-100
を追加しようとしましたが、画面の下部に空白が発生します。それを行う方法がなければなりませんが、私は完全に困惑しています..ここに私のコードがあります:
<div class="container-fluid h-100">
<div class="row justify-content-center h-100">
<div class="col-4 bg-red">
<div class="h-100">
<div class="row justify-content-center bg-purple">
<div class="text-white">
<div style="height:200px">ROW 1</div>
</div>
</div>
<div class="row justify-content-center bg-blue">
<div class="text-white">ROW 2</div>
</div>
</div>
</div>
<div class="col-8 bg-gray"></div>
</div>
</div>
codepen: https://codepen.io/ee92/pen/zjpjXW/?editors=11
青い行(行2)ですべての赤いスペースを埋めたいです。助言がありますか?
ありがとう
Bootstrap 4.1 flex-grow-1
class ...を使用します.
https://www.codeply.com/go/Iyjsd8djnz
<div class="container-fluid h-100">
<div class="row justify-content-center h-100">
<div class="col-4 bg-red">
<div class="h-100 d-flex flex-column">
<div class="row justify-content-center bg-purple">
<div class="text-white">
<div style="height:200px">ROW 1</div>
</div>
</div>
<div class="row justify-content-center bg-blue flex-grow-1">
<div class="text-white">ROW 2</div>
</div>
</div>
</div>
<div class="col-8 bg-gray"></div>
</div>
</div>
Update 4.3.1: vh-100ユーティリティクラスを使用した別の例
関連: 行の残りの高さを伸ばす方法
コンテナを列方向(.d-flex.flex-column
)のフレックスボックスにし、行2に.col
クラスを指定して、垂直方向に展開します。
<div class="container-fluid h-100">
<div class="row justify-content-center h-100">
<div class="col-4 bg-red">
<!-- these classes here -->
<div class="h-100 d-flex flex-column">
<div class="row justify-content-center bg-purple">
<div class="text-white">
<div style="height:200px">ROW 1</div>
</div>
</div>
<!-- adding col adds the style flex-grow: 1 -->
<div class="row justify-content-center bg-blue col">
<div class="text-white">ROW 2</div>
</div>
</div>
</div>
<div class="col-8 bg-gray"></div>
</div>
</div>
これは解決策です。ラッパーdiv
にはh-100が必要で、高さに適応するdiv
にはflex-grow-1およびoverflow-autoが必要です。このように、div
は、コンテンツが使用可能なスペースよりも小さい場合にスペースを埋めるように成長し、コンテンツが使用可能なスペースよりも高い場合にスクロールバーを表示します。
<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>