CSS Grid vs Flexbox 完全比較|1次元・2次元の使い分けとレスポンシブレイアウト
CSS レイアウト Grid Flexbox HTML
結論:30秒で Grid と Flexbox を使い分ける
- Flexbox (1D): ナビゲーションバー、ボタンとアイコン、アバター横並び
- CSS Grid (2D): カード一覧、ダッシュボード、2次元グリッド
- オンラインツール: 下の CSS Grid ジェネレーターでコード生成
1. オンライン CSS Grid レイアウト生成ツール
カラム数や gap を調整し、自動レスポンシブに対応した repeat(auto-fit, minmax(...)) の CSS コードをリアルタイム生成できます。
🏁 この場でCSS Gridを生成する
2. 使い分けの判断基準
| 特徴 | 推奨される場面 |
|---|---|
| Flexbox (1D) | ナビゲーションバー, ボタンの配置, 要素を横(または縦)に並べる |
| CSS Grid (2D) | ページ全体のレイアウト, 複雑なカードグリッド, 雑誌風のデザイン |
3. CSS Grid が圧倒的に強いカードグリッドの書き方
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
4. 注意点(ハマりどころ)
minmax()の最小幅オーバーフローminmax(300px, 1fr)を指定した場合、画面幅が 300px 未満のモバイル実機で横スクロールが発生します。minmax(min(100%, 300px), 1fr)と記述することで防げます。