flex-direction CSS プロパティは、main axis や方向 (normal または reversed) を定義することにより、flex コンテナ内で flex アイテムをどのように配置するかを指定します。

row および row-reverse は、flex コンテナの書字方向に影響されることに注意してください。flex コンテナの dir 属性が ltr である場合は、row は水平方向の軸が左から右へ方向づけられ、また row-reverse は右から左になります。一方、dir 属性が rtl である場合は、row は軸が右から左へ方向づけられ、また row-reverse は左から右になります。

構文

/* 1行に配置する */
flex-direction: row;

/* <row> と同様だが、逆向き */
flex-direction: row-reverse;

/* 積み重なるように配置する */
flex-direction: column;

/* <column> と同様だが、逆向き */
flex-direction: column-reverse;

/* グローバル値 */
flex-direction: inherit;
flex-direction: initial;
flex-direction: unset;

以下の値を指定できます:

row
flex コンテナの main-axis は、書字方向と同じ軸に定義されます。main-start および main-end の位置は、コンテンツの書字方向と同様になります。
row-reverse
row と同様ですが、main-start および main-end の位置が入れ替わります。
column
flex コンテナの main-axis は、block-axis と同じ軸になります。main-start および main-end の位置は、writing-mode における before および after の位置と同じになります。
column-reverse
column と同様ですが、main-start および main-end の位置が入れ替わります。

形式構文

row | row-reverse | column | column-reverse

HTML

<h4>This is a Column-Reverse</h4>
<div id="content">
    <div class="box" style="background-color:red;">A</div>
    <div class="box" style="background-color:lightblue;">B</div>
    <div class="box" style="background-color:yellow;">C</div>
</div>
<h4>This is a Row-Reverse</h4>
<div id="content1">
    <div class="box1" style="background-color:red;">A</div>
    <div class="box1" style="background-color:lightblue;">B</div>
    <div class="box1" style="background-color:yellow;">C</div>
</div>

CSS

#content {
  width: 200px;
  height: 200px;
  border: 1px solid #c3c3c3;
  display: -webkit-flex;
  -webkit-flex-direction: column-reverse;
  display: flex;
  flex-direction: column-reverse;
}

.box {
  width: 50px;
  height: 50px;
}

#content1 {
  width: 200px;
  height: 200px;
  border: 1px solid #c3c3c3;
  display: -webkit-flex;
  -webkit-flex-direction: row-reverse;
  display: flex;
  flex-direction: row-reverse;
}

.box1 {
  width: 50px;
  height: 50px;
}

結果

仕様

仕様書 策定状況 コメント
CSS Flexible Box Layout Module
flex-direction の定義
勧告候補 初期定義

初期値row
適用対象flex containers
継承なし
メディア視覚
計算値指定値
アニメーションの種類個別
正規順序形式文法で定義される一意のあいまいでない順序

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応

29

21 -webkit-

12

12 -webkit-

201

18 — 202

49 -webkit-

44 -webkit- 3

11

10 -ms-

12.1

15 -webkit-

9

7 -webkit-

機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応

29

21 -webkit-

29

25 -webkit-

あり

あり -webkit-

?

12.1

15 -webkit-

? ?

1. Since Firefox 28, multi-line flexbox is supported.

2. From version 18 until version 20 (exclusive): this feature is behind the layout.css.flexbox.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

3. From version 44: this feature is behind the layout.css.prefixes.webkit preference (needs to be set to true). To change preferences in Firefox, visit about:config.

関連情報

ドキュメントのタグと貢献者

このページの貢献者: sutara79, yyss, fscholz, teoli, ethertank
最終更新者: sutara79,