※サポートされているブラウザは現在調査中です。
box-orientプロパティは、フレキシブルボックス内の子要素の配置方向を指定する際に使用します。
フレキシブルボックスとは、サイズや配置を相対的に指定できる柔軟なボックスのことです。
ブロックレベルボックスをフレキシブルボックスにするには、displayプロパティの値に box を指定します。
また、インラインボックスをフレキシブルボックスにするには、displayプロパティの値に inline-box を指定します。
例えば、<div>~</div>に display:box を指定すると、このdiv要素はフレキシブルボックスとなります。
このフレキシブルボックスの中にある<div>~</div>などの子ボックス達が水平に並んで、
あたかも全体がひとつのボックスであるかのように表示されます。
<h4>display:box;を指定しないボックス</h4>
<div style=”background-color:yellow; padding:5px;”>
<div style=”background-color:red;”>あいうえお</div>
<div style=”background-color:green;”>かきくけこ</div>
<div style=”background-color:blue;”>さしすせそ</div>
</div>
<h4>display:box;を指定したフレキシブルボックス</h4>
<div style=”background-color:yellow; padding:5px; display:box; display:-moz-box; display:-webkit-box;“>
<div style=”background-color:red;”>あいうえお</div>
<div style=”background-color:green;”>かきくけこ</div>
<div style=”background-color:blue;”>さしすせそ</div>
</div>
display:box;を指定しないボックス
display:box;を指定したフレキシブルボックス
このフレキシブルボックスに box-orientプロパティで horizontal を指定すると、ボックス内の子ボックスが水平に配置されます。
また、vertical を指定すると、ボックス内の子ボックスが垂直に配置されます。
inline-axisとblock-axisは、
ライティングモードに依存するキーワードです。
英語や日本語の場合には、ボックス内の子ボックスがそれぞれ水平と垂直に配置されます。
■値
- horizontal
- ボックス内の子要素は、左から右へ水平に表示される
- vertical
- ボックス内の子要素は、上から下へ垂直に積み重ねて表示される
- inline-axis
-
ボックス内の子要素は、インライン軸に沿って表示される(初期値)
- block-axis
-
ボックス内の子要素は、ブロック軸に沿って表示される(初期値)
- inherit
- 親要素の値を継承する
■初期値・適用対象・値の継承
- 初期値
- inline-axis
- 適用対象
- ボックス要素
- 値の継承
- しない
■使用例
CSSソースは外部ファイル(sample.css)に記述
div.sample1 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-orient:horizontal;
}
div.sample2 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-orient:vertical;
}
div.sample3 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-orient:inline-axis;
}
div.sample4 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-orient:block-axis;
}
div.aka {background-color:red;}
div.midori {background-color:green;}
div.ao {background-color:blue;}
HTMLソース
<html>
<head>
<link rel=”stylesheet” href=”sample.css”
type=”text/css”>
</head>
<body>
<h4>box-orient:horizontal を指定</h4>
<div class=”sample1″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:vertical を指定</h4>
<div class=”sample2″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:inline-axis を指定</h4>
<div class=”sample3″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:block-axis を指定</h4>
<div class=”sample4″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
</body>
</html>
ブラウザ上の表示
box-orient:horizontal を指定
box-orient:vertical を指定
box-orient:inline-axis を指定
box-orient:block-axis を指定
■ベンダープレフィックスを付けた場合の使用例
CSSソースは外部ファイル(sample.css)に記述
div.prefix_sample1 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-orient:horizontal;
-webkit-box-orient:horizontal;
-o-box-orient:horizontal;
-ms-box-orient:horizontal;
}
div.prefix_sample2 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-orient:vertical;
-webkit-box-orient:vertical;
-o-box-orient:vertical;
-ms-box-orient:vertical;
}
div.prefix_sample3 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-orient:inline-axis;
-webkit-box-orient:inline-axis;
-o-box-orient:inline-axis;
-ms-box-orient:inline-axis;
}
div.prefix_sample4 {
background-color:yellow; padding:5px;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-orient:block-axis;
-webkit-box-orient:block-axis;
-o-box-orient:block-axis;
-ms-box-orient:block-axis;
}
div.aka {background-color:red;}
div.midori {background-color:green;}
div.ao {background-color:blue;}
HTMLソース
<html>
<head>
<link rel=”stylesheet” href=”sample.css”
type=”text/css”>
</head>
<body>
<h4>box-orient:horizontal を指定</h4>
<div class=”prefix_sample1″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:vertical を指定</h4>
<div class=”prefix_sample2″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:inline-axis を指定</h4>
<div class=”prefix_sample3″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-orient:block-axis を指定</h4>
<div class=”prefix_sample4″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
</body>
</html>
ブラウザ上の表示
box-orient:horizontal を指定
box-orient:vertical を指定
box-orient:inline-axis を指定
box-orient:block-axis を指定