HTML/CSS/レイアウト/Lesson 08
Flexbox — *モダンCSSレイアウト*
1時間 30分·theory
このチャプター
1/2
Flexbox — *モダンCSSレイアウト*
🎯 このレッスンを読み終えたら
このレッスンを読み終えると、以下の3つに自信を持てるようになります。
- ▸✅ Content / Padding / Border / Margin の4領域
- ▸✅
box-sizing: border-boxが標準である理由 - ▸✅ Margin Collapsing の解決パターン
学習目標をチェックリストとして手元に置き、すべて答えられるようになったらレッスンを閉じてください。
Flexbox とは何か
一行でまとめると
Flexbox = 一方向(横または縦)に柔軟に整列するCSSツール。2015年の標準化以降、モダンCSSレイアウトの主流となっています。古いfloat·table時代は終わりました。
基本的な使い方
A·B·Cが横一列に並びます。直感的でシンプルです。
2つの軸 — main vs cross
- ▸main axis — 主方向(デフォルトは横)
- ▸cross axis — 垂直方向
flex-direction: column で縦方向に切り替えることもできます。
整列 — この2つだけ覚えればOK
値5種類 (justify-content):
- ▸
flex-start— 先頭に揃える - ▸
center— 中央に揃える - ▸
flex-end— 末尾に揃える - ▸
space-between— 両端 + 均等な間隔 - ▸
space-around/space-evenly— 両側と間に均等な間隔
よく使う3つのパターン
1. ヘッダー — ロゴを左、メニューを右に:
2. 中央揃え(横・縦ともに):
CSSの永遠の課題「中央揃え」がたった2行で解決。
3. 子要素の比率 — flexプロパティ:
flexショートハンド
よく使うショートハンド:
- ▸
flex: 1— 可能な限り均等にスペースを占有する - ▸
flex: 0 0 200px— 固定 200px、伸縮しない
まとめ
- ▸
display: flex+gap+justify-content+align-items= レイアウトの99% - ▸一方向の整列に最適化
- ▸2次元(行+列)はGridを使用
- ▸古いfloat·tableは完全に廃止 — Flexboxが標準
🤖 AIへのリクエスト例
このレッスンの概念を理解すれば、AIに具体的に指示できるようになります。漠然とした「直して」ではなく、語彙を持ったリクエスト — それがトークン節約の出発点です。
- ▸「このヘッダーをFlexboxで左(ロゴ) + 中央(メニュー) + 右(ボタン)に整列してください」
- ▸「このカードグリッドをflex-wrapでモバイル1列・デスクトップ3列にしてください」
- ▸「align-itemsとjustify-contentがこんがらがっているので、はっきり整理してください」
なぜトークンが節約できるのか
概念を知らない状態では、AIの回答を受け取っても「それはどういう意味ですか?」と再度聞かなければなりません。その「再質問」がトークンを消費します。概念を一度習得しておけば、会話が一回で完結します。
先に読むとよい概念: ボックスモデル
次のおすすめ: CSS Gridの基礎