カテゴリ: CSS 更新日: 2025/12/20

CSSのフレックスボックスのflexプロパティを完全ガイド!初心者でもわかるショートハンド指定方法

flexプロパティのショートハンド指定方法(flex: 1 0 auto など)
flexプロパティのショートハンド指定方法(flex: 1 0 auto など)

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

生徒

「CSSのフレックスボックスで、flexっていうプロパティを見たんですが、どう使うんですか?」

先生

「flexは、フレックスボックスのアイテムの大きさを決める大事な設定で、ショートハンドという短い書き方もありますよ。」

生徒

「ショートハンドってなんですか?初心者でも使えますか?」

先生

「もちろん使えますよ。難しく見えても、一つずつ理解すればとても便利です。一緒にゆっくり見ていきましょう。」

1. フレックスボックスで使うflexプロパティとは?

1. フレックスボックスで使うflexプロパティとは?
1. フレックスボックスで使うflexプロパティとは?

CSSのフレックスボックスは、要素を横並びや縦並びに整列させるレイアウト方法です。その中でも、アイテムの伸び縮みを決めるのがflexプロパティです。フレックスボックスを使うことで、画面の幅が変わってもバランス良く並ぶデザインが簡単につくれます。

2. flexの三つの値「flex-grow」「flex-shrink」「flex-basis」

2. flexの三つの値「flex-grow」「flex-shrink」「flex-basis」
2. flexの三つの値「flex-grow」「flex-shrink」「flex-basis」

flexプロパティは、本来三つの値を組み合わせたものです。初めて聞くとわかりにくいので、例えを使って説明します。三つの値は次の通りです。

  • flex-grow:余ったスペースをどれだけ“もらうか”を決めるルール
  • flex-shrink:スペースが足りないときにどれだけ“縮むか”のルール
  • flex-basis:アイテムの基本の大きさ(pxや%で指定)

たとえば、机の上に物を置くときに「広い机だから少し広く置こう」と考えることがありますよね。その感覚に近く、フレックスボックスではアイテムがスペースに応じて伸び縮みします。

3. ショートハンド指定「flex: 1 0 auto」の意味を理解しよう

3. ショートハンド指定「flex: 1 0 auto」の意味を理解しよう
3. ショートハンド指定「flex: 1 0 auto」の意味を理解しよう

flexプロパティは、「flex-grow」「flex-shrink」「flex-basis」の三つをまとめて書くことができます。これをショートハンドと呼びます。有名な書き方が次のものです。


<div class="item" style="flex: 1 0 auto;">サンプル</div>
ブラウザ表示

この「flex: 1 0 auto」は、次のような意味になります。

  • 1:余ったスペースを1の割合で広がる
  • 0:縮む必要があるときは縮まない
  • auto:基本のサイズを自動に任せる

つまり、必要があれば広がるけど、基本のサイズは「内容に合わせて」決まる、そんな柔軟な設定です。

4. 初心者にも理解しやすいflex値の実例を見てみよう

4. 初心者にも理解しやすいflex値の実例を見てみよう
4. 初心者にも理解しやすいflex値の実例を見てみよう

ここでは、フレックスボックスの親要素を作り、その中に子要素を並べた例を紹介します。同じ幅ではなく、flexの値によって伸び方が変わることを確認できます。


<style>
    .container {
        display: flex;
        gap: 10px;
    }
    .box1 {
        flex: 1 0 auto;
        background: #b4d6ff;
        padding: 10px;
    }
    .box2 {
        flex: 2 1 100px;
        background: #ffd4b4;
        padding: 10px;
    }
    .box3 {
        flex: 0 1 150px;
        background: #d4ffb4;
        padding: 10px;
    }
</style>

<div class="container">
    <div class="box1">flex:1 0 auto</div>
    <div class="box2">flex:2 1 100px</div>
    <div class="box3">flex:0 1 150px</div>
</div>
ブラウザ表示

このように、flexプロパティを使うことで、三つのボックスが違った伸び方や縮み方をします。画面の幅が変わるとバランスも変わるので、レイアウトの幅がグッと広がります。

5. よく使われるflexの便利な書き方も覚えておこう

5. よく使われるflexの便利な書き方も覚えておこう
5. よく使われるflexの便利な書き方も覚えておこう

ショートハンドは他にもよく使われる形があります。特に、以下の二つはよく見るので覚えておくと便利です。

  • flex: 1; … 「flex: 1 1 0」の省略。均等に伸び縮みするレイアウトに便利。
  • flex: none; … 「flex: 0 0 auto」。伸びも縮みもしない固定サイズのアイテムを作れる。

どちらも特別なレイアウトを組むときに役立ちます。実務でもよく使われるので、覚えておくと将来のCSS学習にも役立ちます。

カテゴリの一覧へ
新着記事
New1
CSS
CSS Gridテンプレート集!よく使うWebレイアウトの作り方
New2
HTML
HTML head要素とは?meta・titleの役割と基本を解説
New3
Bootstrap
Bootstrap固定比率カラム完全ガイド!.col-6・.col-md-4の使い方とベストプラクティスを初心者向けに解説
New4
CSS
CSS Gridとメディアクエリで作る!レスポンシブデザイン完全入門
人気記事
No.1
Java&Spring記事人気No1
HTML
HTMLでできること・できないこと|初心者が迷う点を整理
No.2
Java&Spring記事人気No2
CSS
CSSの入れ子構造セレクタ完全ガイド!初心者でもわかる書き方と使い方
No.3
Java&Spring記事人気No3
CSS
CSS Gridの配置を視覚的にデザイン!grid-template-areasの設計方法
No.4
Java&Spring記事人気No4
CSS
CSSの文字色と背景色の組み合わせで読みやすさアップ!初心者でもわかる可読性の改善方法
No.5
Java&Spring記事人気No5
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrap5グリッドとは?12分割の基本とrow・col・gutterを初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
HTML
HTML html/head/bodyタグの役割|文書構造の基本を整理
No.8
Java&Spring記事人気No8
HTML
HTML文書構造を正しく書く重要性|SEOと保守性の観点