カテゴリ: 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
HTML
HTMLとは何か?Webページを作る仕組みを初心者向けに完全解説
New2
Bootstrap
Bootstrap CDNの使い方を完全解説!初心者でもわかる読み込み順とSRIとdeferの設定
New3
Bootstrap
Bootstrapの自動レイアウトと比率指定を完全解説!.colと.col-6の使い分けを初心者向けにやさしく説明
New4
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSグリッドレイアウト完全入門!display: grid の基本と使い方を初心者向けにやさしく解説
No.2
Java&Spring記事人気No2
CSS
CSSの複数セレクタ指定を完全解説!初心者でもわかるカンマ区切りの使い方
No.3
Java&Spring記事人気No3
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.4
Java&Spring記事人気No4
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.5
Java&Spring記事人気No5
CSS
CSSのフレックスボックスで要素を左右に寄せる方法を完全ガイド!初心者でもわかるjustify-content: space-between
No.6
Java&Spring記事人気No6
CSS
CSS Gridとは?初心者でもわかるグリッドレイアウトとフレックスとの違いをやさしく解説
No.7
Java&Spring記事人気No7
CSS
CSSフレックスボックス完全解説|Gridとの違いとFlexboxが得意なレイアウトパターンを初心者向けに理解しよう
No.8
Java&Spring記事人気No8
CSS
CSSの画面サイズ対応スタイル完全ガイド!初心者でもわかる相対単位の使い方