main axis主軸に沿って配置
Flexboxではflex-directionが主軸の向きを決めます。この教材では、左から右へ進む横方向で比べます。
Flexboxの中で、余った空間を使って項目を主軸方向に揃え、分配するプロパティ。3つの項目を動かし、位置と間隔の違いを比べられます。
.element justify-content: normal;
値のパターン
main axisFlexboxではflex-directionが主軸の向きを決めます。この教材では、左から右へ進む横方向で比べます。
flex-start | center | flex-end項目どうしを詰めたまま、余った空間の先頭・中央・末尾へまとめて配置します。
space-between | space-around | space-evenly項目間だけ、各項目の周囲、すべて同じ間隔という3通りで、空間の配り方を変えます。
初期値はnormalです。Flexboxでは先頭にまとまるため、まずは配置する空間がある状態で代表値を比べます。
normalレイアウト方式に任せる初期値flex-start主軸の先頭にまとめるFlexboxcenter主軸の中央にまとめる中央配置flex-end主軸の末尾にまとめるFlexboxspace-between最初と最後を両端へ置く項目間は均等space-around各項目の両側へ空間を配る外側は半分space-evenly外側も項目間も同じにするすべて均等ロゴとメニューのような2つのまとまりを、コンテナーの先頭と末尾へ配置できます。
.nav { display: flex; justify-content: space-between; }ダイアログや案内の操作ボタンを、項目間の幅を保ったまま中央へまとめられます。
.actions { display: flex; gap: 12px; justify-content: center; }編集や共有などの操作だけを、横方向の末尾へひとまとまりに配置できます。
.toolbar { display: flex; justify-content: flex-end; }ポイント
justify-contentは、内容が使わずに残した空間を配置・分配します。項目がコンテナーいっぱいに広がっている場合や、flex-growが空間を使い切った場合は変化が見えません。Flexboxではflex-directionが主軸を決め、gapは固定の項目間隔、justify-contentは残った空間の分配を担当します。Gridや段組みでは、インライン軸に沿ってグリッド全体や段を配置します。このプロパティは子要素へ継承されません。
justify-content と一緒に使われるプロパティや、詳しい外部リファレンスをまとめました。