Bootstrap4ではフレックスボックスFlexbox
が使えるようになりました。
目次
Flex動作を有効にする
まずは、d-flex
またはd-inline-flex
クラスを設定し、Flexコンテナーを作成します。
d-flex
デフォルトのFlexコンテナー
<div class="d-flex p-2 bd-highlight">デフォルトのFlexコンテナ</div>
d-inline-flex
インラインのFlexコンテナー
<div class="d-inline-flex p-2 bd-highlight">インラインのFlexコンテナ</div>
レスポンシブ対応サイズ
デフォルトFlexコンテナー | インラインFlexコンテナー | |
---|---|---|
全て | .d-flex | .d-inline-flex |
576px以上 | .d-sm-flex | .d-sm-inline-flex |
768px以上 | .d-md-flex | .d-md-inline-flex |
992px以上 | .d-lg-flex | .d-lg-inline-flex |
1200px以上 | .d-xl-flex | .d-xl-inline-flex |
方向の設定(横並び、縦並び)
Flexbox
の方向(横並び、縦並び)を指定します。(デフォルトflex-row
)
横並び flex-row、flex-row-reverse
横並びにするには .flex-row
を使用し、反対側からは .flex-row-reverse
を使用します。
左から設定.flex-row
Flexアイテム1
Flexアイテム2
Flexアイテム3
<div class="d-flex flex-row bd-highlight mb-3">
<div class="p-2 bd-highlight">Flexアイテム1</div>
<div class="p-2 bd-highlight">Flexアイテム2</div>
<div class="p-2 bd-highlight">Flexアイテム3</div>
</div>
右から設定.flex-row-reverse
Flexアイテム1
Flexアイテム2
Flexアイテム3
<div class="d-flex flex-row-reverse bd-highlight">
<div class="p-2 bd-highlight">Flexアイテム1</div>
<div class="p-2 bd-highlight">Flexアイテム2</div>
<div class="p-2 bd-highlight">Flexアイテム3</div>
</div>
縦並び flex-column、flex-column-reverse
縦並びにするには .flex-column
を使用し、反対側からは .flex-column-reverse
を使用します。
上から設定.flex-column
Flexアイテム1
Flexアイテム2
Flexアイテム3
<div class="d-flex flex-column bd-highlight mb-3">
<div class="p-2 bd-highlight">Flexアイテム1</div>
<div class="p-2 bd-highlight">Flexアイテム2</div>
<div class="p-2 bd-highlight">Flexアイテム3</div>
</div>
下から設定.flex-column-reverse
Flexアイテム1
Flexアイテム2
Flexアイテム3
<div class="d-flex flex-column-reverse bd-highlight">
<div class="p-2 bd-highlight">Flexアイテム1</div>
<div class="p-2 bd-highlight">Flexアイテム2</div>
<div class="p-2 bd-highlight">Flexアイテム3</div>
</div>
レスポンシブ対応サイズ
左から設定 | 右から設定 | 上から設定 | 下から設定 | |
---|---|---|---|---|
全て | .flex-row | .flex-row-reverse | .flex-column | .flex-column-reverse |
576px以上 | .flex-sm-row | .flex-sm-row-reverse | .flex-sm-column | .flex-sm-column-reverse |
768px以上 | .flex-md-row | .flex-md-row-reverse | .flex-md-column | .flex-md-column-reverse |
992px以上 | .flex-lg-row | .flex-lg-row-reverse | .flex-lg-column | .flex-lg-column-reverse |
1200px以上 | .flex-xl-row | .flex-xl-row-reverse | .flex-xl-column | .flex-xl-column-reverse |
横方向の整列 justify-content-***
横方向の整列は、justify-content-***
クラスのstart
(デフォルト)、end
、center
、between
、around
を選択することで配置を指定することができます。
左寄せ.justify-content-start
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex justify-content-start">...</div>
右寄せ.justify-content-end
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex justify-content-end">...</div>
左右中央揃え.justify-content-center
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex justify-content-center">...</div>
両端から均等に並列.justify-content-between
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex justify-content-between">...</div>
等間隔に並列.justify-content-around
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex justify-content-around">...</div>
レスポンシブ対応サイズ
左寄せ | 右寄せ | 左右中央揃え | 両端から均等に並列 | 等間隔に並列 | |
---|---|---|---|---|---|
全て | .justify-content-start | .justify-content-end | .justify-content-center | .justify-content-between | .justify-content-around |
576px以上 | .justify-content-sm-start | .justify-content-sm-end | .justify-content-sm-center | .justify-content-sm-between | .justify-content-sm-around |
768px以上 | .justify-content-md-start | .justify-content-md-end | .justify-content-md-center | .justify-content-md-between | .justify-content-md-around |
992px以上 | .justify-content-lg-start | .justify-content-lg-end | .justify-content-lg-center | .justify-content-lg-between | .justify-content-lg-around |
1200px以上 | .justify-content-xl-start | .justify-content-xl-end | .justify-content-xl-center | .justify-content-xl-between | .justify-content-xl-around |
縦方向の整列 align-items-***
縦方向の整列は、align-items-***
クラスのstart
、end
、center
、baseline
、stretch
(デフォルト)を選択することで配置を指定することができます。
上揃え.align-items-start
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex align-items-start">...</div>
下揃え.align-items-end
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex align-items-end">...</div>
上下中央揃え.align-items-center
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex align-items-center">...</div>
ベースライン揃え.align-items-baseline
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex align-items-baseline">...</div>
コンテナいっぱいに伸ばす.align-items-stretch
Flexアイテム
Flexアイテム
Flexアイテム
<div class="d-flex align-items-stretch">...</div>
レスポンシブ対応サイズ
上揃え | 下揃え | 上下中央揃え | ベースライン揃え | コンテナいっぱいに伸ばす | |
---|---|---|---|---|---|
全て | .align-items-start | .align-items-end | .align-items-center | .align-items-baseline | .align-items-stretch |
576px以上 | .align-items-sm-start | .align-items-sm-end | .align-items-sm-center | .align-items-sm-center | .align-items-sm-stretch |
768px以上 | .align-items-md-start | .align-items-md-end | .align-items-md-center | .align-items-md-center | .align-items-md-stretch |
992px以上 | .align-items-lg-start | .align-items-lg-end | .align-items-lg-center | .align-items-lg-center | .align-items-lg-stretch |
1200px以上 | .align-items-xl-start | .align-items-xl-end | .align-items-xl-center | .align-items-xl-center | .align-items-xl-stretch |
アイテム単位の整列(縦方向)align-self-***
アイテムに対してalign-self-***
クラスのstart
、end
、center
、baseline
、stretch
(デフォルト)を選択することで、個別に整列を指定できます。
上揃え.align-self-start
Flexアイテム
align Flexアイテム
Flexアイテム
<div class="align-self-start">align flexアイテム</div>
下揃え.align-self-end
Flexアイテム
align Flexアイテム
Flexアイテム
<div class="align-self-end">align Flexアイテム</div>
上下中央揃え.align-self-center
Flexアイテム
align Flexアイテム
Flexアイテム
<div class="align-self-center">align Flexアイテム</div>
ベースライン揃え.align-self-baseline
Flexアイテム
align Flexアイテム
Flexアイテム
<div class="align-self-baseline">align Flexアイテム</div>
コンテナいっぱいに伸ばす.align-self-stretch
Flexアイテム
align Flexアイテム
Flexアイテム
<div class="align-self-stretch">align Flexアイテム</div>
レスポンシブ対応サイズ
上揃え | 下揃え | 上下中央揃え | ベースライン揃え | コンテナいっぱいに伸ばす | |
---|---|---|---|---|---|
全て | .align-self-start | .align-self-end | .align-self-center | .align-self-baseline | .align-self-stretch |
576px以上 | .align-self-sm-start | .align-self-sm-end | .align-self-sm-center | .align-self-sm-center | .align-self-sm-stretch |
768px以上 | .align-self-md-start | .align-self-md-end | .align-self-md-center | .align-self-md-center | .align-self-md-stretch |
992px以上 | .align-self-lg-start | .align-self-lg-end | .align-self-lg-center | .align-self-lg-center | .align-self-lg-stretch |
1200px以上 | .align-self-xl-start | .align-self-xl-end | .align-self-xl-center | .align-self-xl-center | .align-self-xl-stretch |