Bootstrap4 Flex(フレックス)ユーティリティの使い方を徹底解説

Bootstrap4 Flexユーティリティの使い方を徹底解説

ここではBootstrap4系でのテーブル(table)クラスの使い方を説明していきます。
 

 

 

Flexユーティリティー

Flexユーティリティーとは

Bootstrap4から新しく実装されたFlexユーティリティは、cssのflexbox(フレックスボックス)と呼ばれるレイアウトモードを使用することができるユーティリティです。従来のfloatを使ったレイアウトよりも柔軟に要素を配置することができます。
 

フレックスボックスの説明
 

Flexユーティリティーについて理解するために、先にCSSのflexbox(フレックスボックス)の概念と使い方を学習しておくことをおすすめします。
 

Flexユーティリティーの使い方

Flexユーティリティーを利用するためには、flexboxを利用する親要素に、d-flexクラスまたはd-inline-flex クラスを追加します。これにより、親要素がflexコンテナとなり、子要素がflexアイテムとなります。
 

d-flexにはdisplay:flexが、d-inline-flexにはdisplay:inline-flexの設定が適用されます。
 

■表示例
Bootstrap4 d-flexのサンプル

■上記のソースコード

 

■d-flexクラスと、d-flex-inlineのcss(bootstrap.css)
Bootstrap4 bootstrap.css d-flex、d-flex-inlineの設定
 

また、Bootstrap4ではブレークポイントに合わせてflexboxを設けることができます。

ビューポートサイズ全て小以上中以上大以上特大
デフォルトのFlexコンテナ.d-flex.d-sm-flex.d-md-flex.d-lg-flex.d-xl-flex
インラインFlexコンテナ.d-inline-flex.d-sm-inline-flex.d-md-inline-flex.d-lg-inline-flex.d-xl-inline-flex

 

■表示例 d-lg-flex(992px以上で有効)

■上記のソースコード

 
 

フレックスアイテムの方向設定 flex-{方向}

flex-{方向}クラス指定すると、flexコンテナの主軸の方向を指定することができます。flexアイテムはこの主軸の方向に沿って配置されます。
 

■flex-{方向} 主軸の向きを決定する
bootstrap4 flex-{方向} 主軸の向きを決定する
 

■表示例 flex-row(左から右へ)とflex-row-reverse(右から左へ)
Bootstrap flex-rowとflex-row-reverse
 

■上記のソースコード

 

なお、flex-row(デフォルト値)の場合は、省略されることも多いです。
 

また、ブレイクポイントに応じて、flex-{sm,mdlg,xl}-{方向}クラスも定義されています。

クラスレスポンシブ対応クラス説明
(デフォルト)flex-rowflex-{sm,md,lg,xl}-row{sm,md,lg,xl以上で}左から右に配置
flex-row-reverseflex-{sm,mdlg,xl}-row-reverse{sm,md,lg,xl以上で}右から左に配置
flex-columnflex-{sm,mdlg,xl}-column{sm,md,lg,xl以上で}上から右に配置
flex-column-reverseflex-{sm,mdlg,xl}-column-reverse{sm,md,lg,xl以上で}下から上に配置

 

例えば、flexコンテナにflex-md-reverse クラスを指定すると、768px以上の画面幅でflexアイテムを右から左に配置することができます。
 

■表示例 flex-column(上から下へ)とflex-column-reverse(下から上へ)
Bootstrap flex-columnとflex-column-reverse
 

■上記のソースコード

フレックスアイテムの主軸の配置設定 justify-content-{配置設定}

flexboxは2つの軸を持っています。主軸と、主軸に対して垂直な軸(交差軸)です。以下の図はそれぞれの始点と終点を示したものです。
 

以下は、水平方向flex-rowの場合の、主軸と交差軸です。
Bootstrap 4 flexbox flex-rowの場合 主軸と交差軸
 

justify-content-***クラスを使用すると、flexコンテナの主軸に沿って、flexアイテムをどのように配置するかを設定できます。***には、strat(始点)、end(終点)、center(中央)、between(両はしから均等)、around(等間隔)から選択できます。
 

クラスレスポンシブ対応クラス
justify-content-start主軸の始点に配置する(デフォルト)
justify-content-end主軸の終点に配置する
justify-content-center主軸の中央に配置する
justify-content-between両端から均等に配置する
justify-content-around主軸に対し均等間隔に配置する

 
 

■主軸方向がrow(デフォルト)の場合は、水平方向の配置を制御します。

 

■上記のソースコード

 

flex-columnの場合は、主軸が垂直方向になりますので、垂直方向の配置を制御することになります。
Bootstrap 4 flexbox flex-rowの場合 主軸と交差軸
 

■表示例

 

■上記のソースコード(startの部分に、end、center、between、aroundなどをいれます)

 

ブレークポイントを設けたい場合は、justify-content-{sm|md|lg|xl}-***のように記述することができます。

クラスレスポンシブ対応クラス
justify-content-{sm|md|lg|xl}-start{sm|md|lg|xl以上の場合に}主軸の始点に配置する(デフォルト)
justify-content-{sm|md|lg|xl}-end{sm|md|lg|xl以上の場合に}主軸の終点に配置する
justify-content-{sm|md|lg|xl}-center{sm|md|lg|xl以上の場合に}主軸の中央に配置する
justify-content-{sm|md|lg|xl}-between{sm|md|lg|xl以上の場合に}両端から均等に配置する
justify-content-{sm|md|lg|xl}-around{sm|md|lg|xl以上の場合に}主軸に対し均等間隔に配置する

 
 
 

フレックスアイテムの交差軸の配置設定 align-items-{配置設定}

align-items-{配置設定}クラスを利用すると、flexコンテナの交差軸に沿って、flexアイテムをどのように配置するかを設定できます。
 

Bootstrap4 flexbox flex-rowの場合 主軸と交差軸
 

クラスレスポンシブ対応クラス
align-items-start交差軸の始点に配置する(デフォルト)
align-items-end交差軸の終点に配置する
align-items-center交差軸の中央に配置する
align-items-baseline交差軸のベースラインに配置する
align-items-stretch交差軸の始点から終点まで伸縮する

 
 

■主軸が水平方向(flex-row)の場合、垂直方向の交差軸に対して配置を制御します。

 

■上記のソースコード(startの部分にend、center、baseline、stretchなどをいれます)

 

主軸が垂直方向(flex-column)の場合、水平方向の交差軸に対して配置を制御します。
Bootstrap 4 flexbox flex-rowの場合 主軸と交差軸
 

■表示例

 

■上記のソースコード

 

ブレークポイントを設けたい場合は、align-items-{sm|md|lg|xl}-***のように記述することができます。

クラスレスポンシブ対応クラス
align-items-{sm|md|lg|xl}-start{sm|md|lg|xlサイズ以上の場合に}交差軸の始点に配置する(デフォルト)
align-items-{sm|md|lg|xl}-end{sm|md|lg|xlサイズ以上の場合に}交差軸の終点に配置する
align-items-{sm|md|lg|xl}-center{sm|md|lg|xlサイズ以上の場合に}交差軸の中央に配置する
align-items-{sm|md|lg|xl}-baseline{sm|md|lg|xlサイズ以上の場合に}交差軸のベースラインに配置する
align-items-{sm|md|lg|xl}-stretch{sm|md|lg|xlサイズ以上の場合に}交差軸の始点から終点まで伸縮する

 
 
 

フレックスアイテムの順番を制御 Order-{番号}

flexアイテム(子要素)に対して、order-{0〜最大12の番号}クラスを利用して、各要素の順番を制御することができます。
 

■表示例
bootstrap4 flexアイテムでorderクラスを利用して順番を制御する
 

■上記のソースコード

 

ブレークポイントを設けたい場合は、order-{sm|md|lg|xl}-{0〜最大12の番号}のように記述することができます。
 

▲▲目次に戻る▲▲

 

まとめ

いかがでしたでしょうか。
 

今回は、グリッドシステム・レスポンシブデザインで有名なCSSフレームワークBootstrap(ブートストラップ)の4のFlexユーティリティの使い方の基本をご紹介しました。
 

Flexユーティリティーは、flexbox(フレックスボックス)の概念と仕組みを利用したユーティリティーですので、CSSのdisplay:flexの使い方を先に学習していると理解しやすいかと思います。
 

ここでは割愛しますが、他にも、align-self、flex-grow(shrink)-*、flex-fill、align-content、flex-wrapなど色々な使い方があります。
 

公式サイトにも使い方の詳細が掲載されていますので、参考にしながら活用してみてください。
Flex | Bootstrap
 

 

『自分で作る選択を!』

弊社は、自分でホームページを作ることを推奨しています。「業者に任せたけど、更新ができない」「本で独学は時間がかかりすぎる・・」そんなお悩みの方も多いのではないでしょうか。

個別指導形式のスクールでは、自分の知りたいことをピンポイントで学習・達成でき、自分で更新もできるというメリットもあります。
無料事前相談もしておりますので、まずはお気軽にご登録ください。

詳細はこちら

 

今回は、以上になります。最後までご覧いただきありがとうございました。
 

『自分で作る選択を』
自分でホームページ作成・Web集客したいホームページ作成スクール・教室

自分でホームページ作成・Web集客したいホームページ作成スクール・教室 WEBST8

PICK UP みんなの仕事インタビュー

WEBST8では、サロン・整骨院・整体・農業・ピアノ・ネイル・ライター・デザイナー・ネイル・美術品・不動産・士業などなど、個人でビジネスを持ち仕事をされている方がたくさんおられます。

ユニークで面白い仕事をされている方も多いので、実際に独立・起業・仕事 Web活用について実体験をインタビューいたしました。

インタビュー一覧

大阪の個別指導Webスクール
「WEBST8」

個人事業主様・経営者様・起業副業など
自分のビジネスのために
ホームページの作り方を
習得するスクール

\ 自分で作る選択を! /

詳しくはこちら

ABOUTこの記事をかいた人

松本慶

【IT業界でシステムエンジニア歴8年現役Web系フリーランス】

1985年生まれ 立命館大学卒業。 某複合機メーカーで約8年間システムエンジニアとして大阪で勤務後、2016年秋に独立。

「一人一人が創意工夫で思い描く未来を!」 という想いもとに『自分でホームページを作成してWeb集客・売上拡大したい』個人事業主のためのWeb教室・スクール「ウェブストエイト(Webst8)を運営開始。
ウェブやマーケティングなどの覚えたノウハウを自分や周りの目標実現のツールとして使うことにやりがいを感じています。

メルマガ登録はこちら

個人事業主のためのWeb教室・スクール「ウェブストエイト」 ホームページ