【初心者向け】CSSのflexbox(フレックスボックス)で要素を自由に並べる方法まとめ

HTML/CSS入門

flexbox(フレックスボックス)は、CSSで要素の配置や並び方を簡単にコントロールできるレイアウト方法です。

例えばこんな悩み、ありませんか?

  • 要素を横に並べたいけど、うまくいかない
  • 中央揃えがなかなか決まらない
  • 子要素を均等に配置したい

→ そんなときに活躍するのがこの flexbox です!

できることの例

  • 要素を横や縦に並べる
  • 水平方向・垂直方向の中央揃え
  • 子要素の幅や間隔を自動調整
  • スマホ対応のレイアウトもしやすい

キーワード

display: flex; を使えば、今まで難しかったレイアウトもスッキリ解決!

flexboxを使うときは、まず親要素に display: flex; を指定します。
これで「flexコンテナ」と呼ばれるようになり、中の子要素が自動的に整列されます。

🧩 HTMLの例

<div class="flex-column ">
  <div>ボックス1</div>
  <div>ボックス2</div>
  <div>ボックス3</div>
</div>

🎨 CSSの例

.flex-column  {
  display: flex;
}

結果

ボックス1
ボックス2
ボックス3
  • デフォルトでは子要素が横並びになります
  • スマホでもレスポンシブに対応しやすくなります

ポイント

  • 親に display: flex; を書くだけで「横並び」になる!
  • 子要素の幅は自動で調整される(均等にならない場合もあるが、それは後で調整可能)

display: flex; を使うと、子要素はデフォルトで横に並びます。
これは「主軸(メイン軸)」が**横方向(row)**だからです。

🧩 具体例

<div class="flex-row">
  <div>赤</div>
  <div>青</div>
  <div>黄</div>
</div>
.flex-row {
  display: flex;
}

結果

3つの要素が 横一列 に並びます。

💡 補足:縦並びにしたいときは?

.flex-box { 
  display: flex;
  flex-direction: column;
}

flex-direction: column; を使うと、縦並びになります。

よくあるミス

  • 親に display: flex; をつけ忘れて、子が並ばない
  • 子要素が大きすぎてはみ出す場合は、flex-wrapgapで調整する

要素を横並びにしたあと、その並びをどう揃えるかをコントロールするのが justify-content です。

これは主軸(横方向)に対する揃え方を決めるプロパティです。

よく使う値一覧

動き
flex-start左寄せ(初期値)
center中央揃え
flex-end右寄せ
space-between両端揃え+中は等間隔
space-around要素の周りに等間隔の余白
space-evenlyすべて均等な余白

例:中央揃えにする

.flex-center {
  display: flex;
  justify-content: center;
}

子要素全体が 横方向の中央 に集まります

ポイント

  • justify-content「主軸の揃え方」 → 横方向(デフォルト)に働く
  • 縦の中央揃えはこのあと紹介する align-items を使う!

align-items は、交差軸(デフォルトでは縦方向)に対する揃え方を決めるプロパティです。
つまり、要素の上下位置をコントロールします。

よく使う値一覧

動き
flex-start上揃え
center縦の中央揃え
flex-end下揃え
stretch高さを自動で揃える(初期値)
baseline文字のベースラインに揃える

例:縦方向の中央揃え

.flex-vertical-center {
  display: flex;
  align-items: center;
}

子要素が親要素の縦の中央に揃う

注意ポイント

align-items: center; を効かせるには、**親要素に高さ(height)**がある必要があります!

ここまで紹介したプロパティを、一覧でおさらいしておきましょう👇

親要素(コンテナ)に使うプロパティ

プロパティ内容
display: flexFlexboxを有効にする
flex-direction要素の並び方向(row, column など)
justify-content主軸(横)の揃え方
align-items交差軸(縦)の揃え方
flex-wrap折り返しを許可するかどうか

📗 子要素に使うプロパティ

プロパティ内容
flex-grow余白に対してどれだけ広がるか
flex-shrink収縮する度合い(省略可)
flex-basis初期の幅(pxや%で指定)
align-self特定の子要素だけ縦揃えを変更したいとき

ワンポイント

まずは display: flexjustify-contentalign-items の3つから覚えればOK!

この記事では、CSSの flexbox(フレックスボックス) を使った要素の並べ方・揃え方を紹介しました。

今回のおさらい

  • display: flex; で横並びが一発でできる!
  • justify-content で横方向(主軸)の揃え方を設定
  • align-items で縦方向(交差軸)の揃え方を調整
  • 子要素の伸縮や間隔調整も柔軟にできる
  • レスポンシブ対応にも相性◎!

一言でまとめると…

Flexboxは、CSSレイアウトの悩みを一気に解決してくれる最強ツール!

コメント

タイトルとURLをコピーしました