Balbas Code

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


②flex-direction: row-reverse;


.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: row-reverse; /* 小要素を逆方向の横並びにする */
}

flex-direction


③flex-direction: column;


.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: column; /* 小要素を縦並びにする */
}

flex-direction


 


④flex-direction: column-reverse;


.flex-box1 {
background-color: #eee; /* 背景色指定 */
display: flex; /* フレックスボックスにする */
flex-direction: column-reverse; /* 小要素を逆方向の縦並びにする */
}

flex-direction


 


まとめ


Flexbox の本質は「一列の並べ方」を決めることです。
最初に“どの方向へ並べたいか(flex-direction)”を決め、次に“主軸側をどう配分するか(justify-contentflex)”と“交差軸をどう揃えるか(align-items)”を合わせます。複雑に見える場面でも、軸→配分→揃えの順に分解すれば、ほとんどのUIは素直に組めます。