flex-directionプロパティは、フレックスコンテナ内のアイテムの配置方向を指定する際に使用します。
具体的には、フレックスコンテナの主軸方向を設定することで、フレックスアイテムがレイアウトされる方向を決定します。
尚、row-reverseやcolumn-reverseなどの値はフローの方向を反対にしますが、あくまでもフローの方向を変更するだけであり、文字列の記述方向や内容の読み上げ方向などは変更されません。
■値
- row
- フレックスコンテナの主軸は左から右になります。正確に言うと現在のインライン軸の方向と同じになります。(初期値)
- row-reverse
- フレックスコンテナの主軸方向が row の逆になります
- column
- フレックスコンテナの主軸は上から下になります。正確に言うと現在のブロック軸の方向と同じになります。
- column-reverse
- フレックスコンテナの主軸方向が column の逆になります
■初期値・適用対象・値の継承
- 初期値
- row
- 適用対象
- フレックスコンテナ
- 値の継承
- しない
■使用例
CSSソース
ul.sample_menu {
display:-webkit-flex;
display:flex;
width:100%;
list-style-type:none;
margin:0; padding:0;
}
ul.sample_menu li {
width:25%;
}
ul.sample_menu a {
display:block;
margin:2px; padding:10px; font-size:10px;
background-color:#66cc99; color:#ffffff;
text-align:center;
text-decoration:none;
}
HTMLソース
<div>flex-direction:row;</div>
<ul class=”sample_menu” style=”flex-direction:row;”>
<li><a href=”#”>メニュー1</a></li>
<li><a href=”#”>メニュー2</a></li>
<li><a href=”#”>メニュー3</a></li>
<li><a href=”#”>メニュー4</a></li>
</ul>
<div>flex-direction:row-reverse;</div>
<ul class=”sample_menu” style=”flex-direction:row-reverse;”>
<li><a href=”#”>メニュー1</a></li>
<li><a href=”#”>メニュー2</a></li>
<li><a href=”#”>メニュー3</a></li>
<li><a href=”#”>メニュー4</a></li>
</ul>
<div>flex-direction:column;</div>
<ul class=”sample_menu” style=”flex-direction:column;”>
<li><a href=”#”>メニュー1</a></li>
<li><a href=”#”>メニュー2</a></li>
<li><a href=”#”>メニュー3</a></li>
<li><a href=”#”>メニュー4</a></li>
</ul>
<div>flex-direction:column-reverse;</div>
<ul class=”sample_menu” style=”flex-direction:column-reverse;”>
<li><a href=”#”>メニュー1</a></li>
<li><a href=”#”>メニュー2</a></li>
<li><a href=”#”>メニュー3</a></li>
<li><a href=”#”>メニュー4</a></li>
</ul>
ブラウザ上の表示
■関連項目
フレックスアイテムの配置・折り返し・順序
flex-flow …… フレックスコンテナ内のアイテムの配置方向と折り返し方法をまとめて指定する
flex-direction …… フレックスコンテナ内のアイテムの配置方向を指定する
flex-wrap …… フレックスコンテナ内のアイテムの折り返し方法を指定する
order …… フレックスコンテナ内のアイテムの表示順序を指定する