Flexboxのflex-directionについて
公開日: 2025-09-03 11:09:29
AIに指示を出す中でFlexboxについてきちんと理解しておかないとメチャクチャなコードになっていったので、そのようなコードが生まれないためにも正しい使い方を学んでいきましょう。
Flexboxの書き方は簡単です。
親要素に下記の値を入れるだけ。
.flex-box1 {
display: flex; /* フレックスボックスにする */
}
どんな時に使えるプロパティなのか?
Flexbox は「一列(一次元)の並べ方」を決める道具です。まず軸を決める→次に並べ方と揃え方を決める、という流れで考えると失敗しません。
軸の選択(flex-direction)
row:横に並べたいときの基本。ヘッダーナビ、ボタンの横並び、カードを横スクロールで見せるバーなど。
row-reverse:見た目だけ順序を逆にしたいとき。カルーセルの進行方向を反転したい、RTL 対応の検証をしたい、など。
column:縦積みが自然なUI。モーダルの「ヘッダー→本文→フッター」、フォームの「ラベル→入力欄」、チャットログなど。
column-reverse:新着を上に積むタイムラインなど“下から上へ”詰めたいとき。ただしスクロール挙動と相性があるので要テスト。
揃え方の要点(justify-content / align-items)flex-direction で「どっちが主軸か」が変わります。
rowのとき:横=justify-content、縦=align-items
columnのとき:縦=justify-content、横=align-items
よく使う並べ方はこの3つです。
中央揃え:
display:flex; justify-content:center; align-items:center;
等間隔:
justify-content: space-between;(外側に余白が欲しいならspace-around/space-evenly)
折り返しグリッド風:
flex-wrap: wrap; gap: 12px;を親につけ、子は「最小幅+伸縮」で幅を決める
flex-direction(要素を横並びや縦並びにする)
①flex-direction: row;
.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: row; /* 小要素を横並びにする */
}
②flex-direction: row-reverse;
.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: row-reverse; /* 小要素を逆方向の横並びにする */
}
③flex-direction: column;
.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: column; /* 小要素を縦並びにする */
}
④flex-direction: column-reverse;
.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: column-reverse; /* 小要素を逆方向の縦並びにする */
}
まとめ
Flexbox の本質は「一列の並べ方」を決めることです。
最初に“どの方向へ並べたいか(flex-direction)”を決め、次に“主軸側をどう配分するか(justify-content、flex)”と“交差軸をどう揃えるか(align-items)”を合わせます。複雑に見える場面でも、軸→配分→揃えの順に分解すれば、ほとんどのUIは素直に組めます。