Flex Grow プロパティ

最終更新:2026-09-13

flex-grow Flex Grow プロパティ

flex-grow プロパティは、flex アイテムの拡大率を設定します。コンテナー内の残りの空間をアイテムがどれだけ獲得できるかを決めます。デフォルト値は 0 で、これはアイテムが伸長せず元のサイズを保つことを意味します。値を大きくするほどアイテムの取り分は大きくなります。残りの空間は、すべてのアイテムの flex-grow 値に比例して分配されます。

カテゴリ
初期値0
継承いいえ
適用対象flex アイテム
アニメーションタイプnumber
CSS バージョンCSS3
状態標準

📝 構文

flex-grow: <number>;

⚙️ 値

タイプ説明
<number>タイプ拡大率。0 は伸長しないことを意味する。

▶ 例

以下のコードを編集して、プレイグラウンドでライブ結果を確認してください:

🌐 ブラウザーサポート

ブラウザー ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
flex-grow v29 v12 v28 v9 v17
すべての主要ブラウザーでサポート
ヒント: flex-grow は単位のない比率で、負の値は受け付けません。残りの空間は flex-grow 値の比率に従って分けられ、たとえば 1:2:3 なら 1/6・2/6・3/6 に分配されます。
注意: flex-grow が効くのは、コンテナーに余白があるときだけです。アイテムがすでにコンテナーの幅を埋めている場合、flex-grow はそれらを縮めません。縮小させたい場合は flex-shrink を使います。

❓ よくある質問

Qflex-grow に小数を指定できますか?
Aできます。flex-grow は 0.5 のような小数を含め、任意の非負の数値を受け付けます。残りの空間はすべての flex-grow 値の相対的な比率で分けられるため、0.5 と 1 の組み合わせは 1 と 2 とまったく同じ挙動になります。重要なのは比率だけです。アイテムを倍にせず少しだけ伸ばしたい場合、0.5 や 0.3 のような小数が便利です。
Qflex-grow を設定したのにアイテムが伸びないのはなぜですか?
Aよくある原因は 3 つです。アイテムがすでに幅を埋め尽くしていてコンテナーに余白がない、親が display: flex を設定するのを忘れている、flex-basis が auto で内容がすでに基本サイズを最大まで押し上げている。まずコンテナーがアイテムの合計幅より広いか確認し、次に flex-basis を見直してください。flex-grow に分配を完全に任せるには、通常 flex-basis を 0 にします。
Q「flex-grow が分配するのは残りの空間であり、全体の幅ではない」とはどういう意味ですか?
Aflex はまず flex-basis(デフォルトは auto、つまり内容の幅)に従ってすべてのアイテムを配置します。残った部分が「残りの空間」であり、その部分だけが flex-grow によって比例で分けられます。たとえば 600px のコンテナーで 3 アイテムの内容の合計が 300px なら、分配されるのは残りの 300px だけです。つまりデフォルトの flex-basis では、flex-grow: 1 をしても flex-basis を 0 にしない限り等幅になりません。

📚 関連チュートリアル

Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%