カテゴリ: Bootstrap 更新日: 2026/06/20

Bootstrapのフレックス伸縮制御を完全解説 初心者でも理解できるflex grow shrinkの使い方

伸縮の制御(.flex-grow-1/.flex-shrink-0)で幅配分を最適化
伸縮の制御(.flex-grow-1/.flex-shrink-0)で幅配分を最適化

先生と生徒の会話形式で理解しよう

生徒

「Bootstrapで横並びのレイアウトを作ったときに、要素の幅がうまく調整できません。」

先生

「それはフレックスボックスの伸縮制御を使うと解決できることが多いです。」

生徒

「伸縮制御とはどのような機能ですか。」

先生

「Bootstrapには要素の広がり方や縮み方を調整する便利なクラスがあります。順番に確認していきましょう。」

1. Bootstrapのフレックス伸縮制御とは

1. Bootstrapのフレックス伸縮制御とは
1. Bootstrapのフレックス伸縮制御とは

Bootstrapにはレイアウトを整えるためのフレックスユーティリティという便利な機能があります。フレックスとは横並びや縦並びの配置を簡単に作る仕組みで、複雑な配置を直感的に操作できる特徴があります。フレックス伸縮制御とは、並べた要素が余った空間をどのように分け合うか、または狭くなったときにどの要素を優先して残すかを決める仕組みです。

例えば三つの箱を横に並べたとき、画面の幅が広がると空きスペースが発生します。このとき、特定の箱だけを広げたり、他の箱は固定サイズに保つことができます。これを実現するのがflex growとflex shrinkです。

flex growは余ったスペースをどれだけ広げるかを指定します。flex shrinkはスペースが足りないときにどれだけ縮めるかを指定します。この二つを理解すると、画面サイズが変わっても崩れにくいレスポンシブデザインを作ることができます。

2. flex growの基本を理解する

2. flex growの基本を理解する
2. flex growの基本を理解する

flex growは要素が空いたスペースをどれだけ使うかを決める設定です。Bootstrapではflex growを設定するためにflex grow 1というクラスが用意されています。このクラスを指定すると、その要素は余ったスペースを積極的に広げます。

身近な例で説明すると、お弁当箱の中でご飯のスペースだけ自由に増やせる状態に似ています。おかずは固定の大きさですが、ご飯は隙間があれば広がります。このように特定の要素だけ伸ばしたい場合に便利です。


<div class="d-flex border p-2">
    <div class="bg-primary text-white p-2">固定要素</div>
    <div class="bg-success text-white p-2 flex-grow-1">広がる要素</div>
</div>
ブラウザ表示

この例では緑色の要素だけが横幅いっぱいまで広がります。flex grow 1を付けた要素が優先的にスペースを取得する仕組みになっています。

3. flex shrinkの役割を理解する

3. flex shrinkの役割を理解する
3. flex shrinkの役割を理解する

flex shrinkはスペースが不足したときに要素をどれだけ縮めるかを制御する設定です。Bootstrapではflex shrink 0というクラスがあり、このクラスを付けると要素は縮まなくなります。つまり表示サイズを固定したいときに役立ちます。

例えば写真やロゴ画像などは小さくなりすぎると見づらくなります。そのためflex shrink 0を設定することでサイズを守ることができます。


<div class="d-flex border p-2">
    <img src="/img/sample120-120.jpg" class="flex-shrink-0">
    <div class="bg-warning p-2">
        文章が入る領域です。画面が狭くなった場合でも画像は縮まず、文章が優先的に折り返されます。
    </div>
</div>
ブラウザ表示

この設定により、画像は常に同じサイズで表示され、テキスト部分だけが調整されるため、見た目が安定します。

4. flex growとflex shrinkを組み合わせる

4. flex growとflex shrinkを組み合わせる
4. flex growとflex shrinkを組み合わせる

実際の画面設計ではflex growとflex shrinkを同時に使用する場面が多くあります。例えばメニューやサイドバー、メインコンテンツのような構造では、サイドバーは固定幅にして、メイン部分だけを広げる設計がよく使われます。


<div class="d-flex border" style="height:150px;">
    <div class="bg-dark text-white p-3 flex-shrink-0" style="width:150px;">
        サイドバー
    </div>
    <div class="bg-light p-3 flex-grow-1">
        メインコンテンツ
    </div>
</div>
ブラウザ表示

この構成では左側のサイドバーは固定幅のまま保持され、右側のコンテンツ領域が画面サイズに応じて広がります。この方法はブログや管理画面など多くのWebサイトで利用されています。

5. 複数のflex growを使った幅配分の最適化

5. 複数のflex growを使った幅配分の最適化
5. 複数のflex growを使った幅配分の最適化

flex growは複数の要素に指定することもできます。その場合、値の比率によってスペースの分配が決まります。Bootstrapでは基本的にflex grow 1が使われますが、複数の要素に指定すると均等にスペースが分配されます。

例えば三つの要素を均等に広げたい場合は、すべてにflex grow 1を指定します。これにより横幅を均等に分けることができます。


<div class="d-flex border text-center">
    <div class="bg-primary text-white p-3 flex-grow-1">エリア1</div>
    <div class="bg-success text-white p-3 flex-grow-1">エリア2</div>
    <div class="bg-danger text-white p-3 flex-grow-1">エリア3</div>
</div>
ブラウザ表示

この設定はカード表示や商品一覧などのレイアウト作成に役立ちます。均等配置は見た目のバランスを整える重要な要素です。

6. レスポンシブデザインでの活用方法

6. レスポンシブデザインでの活用方法
6. レスポンシブデザインでの活用方法

レスポンシブデザインとは、スマートフォンやタブレット、パソコンなど画面サイズに応じて表示を最適化する技術です。flex growとflex shrinkを活用すると、画面幅が変わってもレイアウトが崩れにくくなります。

例えばスマートフォンでは縦並びに近い表示になり、パソコンでは横並びで広がる表示になります。フレックス制御を使うことで、異なる画面サイズでも自然な配置を実現できます。

特にコンテンツ量が変わるページでは、要素の伸縮制御を適切に設定することで、文字の読みやすさや操作性が向上します。検索エンジンは利用者が快適に閲覧できるページを評価するため、表示の安定性はSEO対策としても重要です。

7. 画像とテキストを組み合わせた実践例

7. 画像とテキストを組み合わせた実践例
7. 画像とテキストを組み合わせた実践例

Webサイトでは画像と文章を横並びに配置することがよくあります。このとき画像は固定サイズにし、文章部分だけ伸縮させると、読みやすく整ったレイアウトになります。


<div class="d-flex align-items-center border p-3">
    <img src="/img/sample150-100.jpg" class="me-3 flex-shrink-0">
    <div class="flex-grow-1">
        商品説明文が入ります。画像サイズを固定しながら、文章は画面幅に合わせて広がります。
    </div>
</div>
ブラウザ表示

この方法は商品紹介ページやプロフィール紹介など、多くのWebデザインで活用されています。特にスマートフォン表示では読みやすさが大きく改善されます。

8. 伸縮制御を使うときの注意点

8. 伸縮制御を使うときの注意点
8. 伸縮制御を使うときの注意点

伸縮制御を使用する際は、どの要素を固定し、どの要素を可変にするかを明確に考えることが大切です。すべての要素にflex growを指定すると、意図しない均等配置になる場合があります。また固定要素を多く設定しすぎると、画面が狭くなったときに表示が崩れる原因になります。

さらにフレックスレイアウトは親要素にd flexを指定しないと動作しません。この設定を忘れると伸縮制御が効かなくなるため注意が必要です。初心者の方はまずシンプルな構成で動作を確認し、少しずつ複雑な配置に挑戦すると理解が深まります。

Bootstrapのフレックスユーティリティは短いクラス名で直感的に設定できるため、HTMLだけでレイアウトを整えられる利点があります。CSSを大量に記述しなくても美しいレイアウトを作れるため、作業効率が向上します。

まとめ

まとめ
まとめ

今回はブートストラップのフレックスレイアウトにおける伸縮制御について総合的に振り返りました。フレックスレイアウトは現代のウェブ制作において非常に重要な配置技術であり横並びや縦並びを直感的に作成できる特徴を持っています。特にフレックスグロウとフレックスシュリンクを理解することで画面幅が変化しても崩れにくい柔軟な画面構造を構築できます。フレックスグロウは余白が発生した際に要素をどの程度広げるかを制御する役割を持っています。これによりコンテンツ領域を可変サイズにしたり主要情報を広く表示したりすることが可能になります。一方でフレックスシュリンクは表示領域が狭くなった際にどの要素を優先的に維持するかを決定する重要な仕組みです。画像やロゴなど縮小させたくない要素に設定することで視認性を確保しながら情報を安定して表示できます。

フレックスレイアウトを活用したレスポンシブデザインは閲覧環境が多様化した現代のウェブ制作では欠かせない要素です。スマートフォンやタブレットや大型画面のパソコンなど様々な画面サイズに適応するためには要素の広がり方や縮み方を適切に調整する必要があります。フレックスグロウを使用すると余白を自然に活用しながらコンテンツを広げることができユーザーが閲覧しやすい画面構造を実現できます。さらにフレックスシュリンクを適切に設定することで重要な視覚情報を保護しながらテキスト情報を柔軟に折り返すことが可能になります。このような構造を設計することで読みやすさ操作性表示安定性が向上し利用者の満足度を高める結果につながります。

またフレックス制御はサイドバー構成商品一覧画面プロフィール紹介画面記事レイアウトなど様々なウェブデザインに応用できます。サイドバーを固定幅に設定しメインコンテンツのみを可変にする構成は情報量が多い管理画面やブログ記事において非常に効果的です。複数のフレックスグロウを組み合わせることで要素間の比率を調整でき均等配置や強調配置など多様なレイアウトを簡単に実装できます。これによりデザインの自由度が高まり視覚的なバランスを整えながら情報伝達力を向上させることができます。

初心者がフレックス伸縮制御を習得するためにはまず親要素にフレックス指定を行うことを理解することが重要です。フレックス指定が無い状態では伸縮制御は動作しません。次にどの要素を固定しどの要素を可変にするかを明確に設計する必要があります。すべての要素を可変にすると意図しない均等配置になる可能性があります。逆に固定要素が多すぎると狭い画面で表示が崩れる原因になります。そのため画面構造を考えながら役割ごとに伸縮設定を行うことが大切です。段階的に構造を確認しながら設計することでフレックスレイアウトへの理解が深まり安定した画面作成が可能になります。

ブートストラップのユーティリティクラスは短い記述で高度なレイアウトを実装できる点が大きな魅力です。従来はスタイル設定を多数記述する必要がありましたがユーティリティクラスを利用することで記述量を削減しながら保守性の高いコードを作成できます。さらに視覚的な配置を素早く調整できるため開発効率が向上し設計変更にも柔軟に対応できます。フレックスグロウとフレックスシュリンクを正しく理解し活用することは現代のウェブ制作における基礎技術として非常に価値があります。画面の安定性可読性操作性を高めるためにも継続して練習し様々な配置に応用していくことが重要です。

サンプルプログラム


<div class="d-flex border p-3">
    <div class="bg-dark text-white p-3 flex-shrink-0" style="width:180px;">
        ナビゲーション
    </div>
    <div class="flex-grow-1 p-3">
        <div class="d-flex align-items-center border p-3">
            <img src="/img/sample150-100.jpg" class="me-3 flex-shrink-0">
            <div class="flex-grow-1">
                コンテンツ説明文が表示されます。画面幅に応じて文章領域が広がります。
            </div>
        </div>
    </div>
</div>
ブラウザ表示
先生と生徒の振り返り会話

生徒

フレックス伸縮制御は画面サイズが変わったときの表示安定に重要だと理解できました。

先生

その通りです。フレックスグロウは余白をどの要素に分配するかを制御しフレックスシュリンクは縮小時の優先度を決めます。

生徒

画像やロゴを守りながら文章を調整できる点が便利だと感じました。

先生

実務ではサイドバー構造や商品一覧画面など様々な場面で利用されます。構造設計を意識するとさらに理解が深まります。

生徒

親要素のフレックス指定を忘れないことと固定要素と可変要素の役割を整理することが大切ですね。

先生

非常に良い理解です。今後は複数要素の比率調整やレスポンシブ構造にも挑戦するとさらに応用力が身に付きます。

2026年最新 スキルアップ・実践セミナー

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

「スピード」が武器になる。Bootstrap 5で商用クオリティのWebサイトを高速構築。

本講座では、世界シェアNo.1のフレームワークBootstrap 5を使いこなし、ゼロからレスポンシブサイトを組み上げる「現場最速のワークフロー」を学びます。単なる導入に留まらず、ユーティリティクラスを活用した効率化と、実務で必須となるカスタマイズ技法を60分で完全習得します。

具体的なワークショップ内容と環境

【つくるもの】
モダンなランディングページ(LP)やダッシュボードのプロトタイプを作成します。ナビゲーション、ヒーローセクション、カードレイアウト、フッターなど、Bootstrapのコンポーネントを組み合わせて「一瞬で形にする」感動を体験してください。

【開発環境】
VS CodeにBootstrap 5専用のSnippet(補完機能)を導入し、手入力を最小限にする環境を構築。最新のCDN利用法や、表示速度(Core Web Vitals)を意識した最適な読み込み設定など、プロの初期設定を伝授します。

この60分で得られる3つの革新スキル

1. グリッドシステムの完全マスター

スマホ・タブレット・PCでレイアウトを自由自在に切り替える「ブレイクポイント」の極意を学びます。

2. ユーティリティクラスによる爆速デザイン

CSSを1行も書かずに、マージン・パディング・カラーを制御。開発工数を半分以下にする実戦術を習得します。

3. 脱・標準デザインのカスタマイズ

「Bootstrap感」を消し、独自のブランドイメージに合わせるための、上書きの作法とデザインの整え方を伝授します。

※本講座は、HTML/CSSの基本を理解した方向けの「実践加速講座」です。制作会社のコーダーや副業フリーランスとして「案件の回転率」を上げ、市場価値を最大化させたい方をモクモクがバックアップします。

【60分集中】CSSを1行も書かない!?Bootstrap 5ユーティリティクラス活用で開発工数を50%削減

Bootstrap 5を楽しみながら、一緒に学びましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
CSS
テーブルの罫線を消す!CSSで枠線なしのスッキリした表デザインを作る方法
New2
HTML
HTMLのtableタグの使い方を完全ガイド!初心者でもわかる表組みデータの基本
New3
CSS
CSSで要素の可視性を制御するテクニック!モーダル・ドロップダウン活用ガイド
New4
CSS
CSSで表示切替をアニメーションと併用する方法!displayとtransitionの使い方完全ガイド
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
HTML
HTML inputタグとは?フォーム入力を担う基本要素を初心者向けに完全解説
No.3
Java&Spring記事人気No3
CSS
CSSの::placeholderの使い方を完全ガイド!入力欄のデザインを自由自在に変える方法
No.4
Java&Spring記事人気No4
CSS
テキストボックスの作り方!CSSで幅・高さ・色を自由にカスタマイズする方法
No.5
Java&Spring記事人気No5
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.6
Java&Spring記事人気No6
CSS
CSSでGoogle Fontsを使う方法を完全ガイド!初心者でもできるフォントの変更
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5ボタン入門:.btn・.btn-primaryの種類とサイズ・形を初心者向けに完全解説
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説