※サポートされているブラウザは現在調査中です。
box-packプロパティは、ボックス内の子要素の横方向の配置を指定する際に使用します。
ボックス内にスペースが余った場合に、そのスペースをどのように要素間に割り付けるかを指定することができます。
box-packプロパティは、box-orientプロパティで指定された要素の配置方向にのみ適用されます。
つまり、水平配置されたボックスの水平方向に適用されるか、垂直配置されたボックスの垂直方向に適用されます。
■値
- start
- 標準方向のボックスでは、最初の子の左端がボックスの左側に揃えられる。余ったスペースはすべて最後の子の後に配置される。
逆方向のボックスでは、最後の子の右端がボックスの右側に揃えられる。余ったスペースはすべて最初の子の前に配置される。(初期値) - end
- 標準方向のボックスでは、最後の子の右端がボックスの右側に揃えられる。余ったスペースはすべて最初の子の前に配置される。
逆方向のボックスでは、最初の子の左端がボックスの左側に揃えられる。余ったスペースはすべて最後の子の後に配置される。 - center
- 余ったスペースは子の前後に均等に分割される。結果としてボックス内の子要素はセンタリングされる。
- justify
- 余ったスペースは各子の間に均等に分割され、最初の子の前と最後の子の後にはスペースは配置されない。
子が1つしか存在しない場合には、startと同じ表示となる。
■初期値・適用対象・値の継承
- 初期値
- start
- 適用対象
- ボックス要素
- 値の継承
- しない
■使用例
CSSソースは外部ファイル(sample.css)に記述
div.sample1 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-pack:start;
}
div.sample2 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-pack:end;
}
div.sample3 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-pack:center;
}
div.sample4 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
box-pack:justify;
}
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-pack:start; を指定</h4>
<div class=”sample1″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:end; を指定</h4>
<div class=”sample2″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:center; を指定</h4>
<div class=”sample3″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:justify; を指定</h4>
<div class=”sample4″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
</body>
</html>
ブラウザ上の表示
box-pack:start; を指定
box-pack:end; を指定
box-pack:center; を指定
box-pack:justify; を指定
■ベンダープレフィックスを付けた場合の使用例
CSSソースは外部ファイル(sample.css)に記述
div.prefix_sample1 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-pack:start;
-webkit-box-pack:start;
-o-box-pack:start;
-ms-box-pack:start;
}
div.prefix_sample2 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-pack:end;
-webkit-box-pack:end;
-o-box-pack:end;
-ms-box-pack:end;
}
div.prefix_sample3 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-pack:center;
-webkit-box-pack:center;
-o-box-pack:center;
-ms-box-pack:center;
}
div.prefix_sample4 {
width:300px; height:100px;
background-color:yellow;
display:-moz-box;
display:-webkit-box;
display:-o-box;
display:-ms-box;
-moz-box-pack:justify;
-webkit-box-pack:justify;
-o-box-pack:justify;
-ms-box-pack:justify;
}
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-pack:start; を指定</h4>
<div class=”prefix_sample1″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:end; を指定</h4>
<div class=”prefix_sample2″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:center; を指定</h4>
<div class=”prefix_sample3″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
<h4>box-pack:justify; を指定</h4>
<div class=”prefix_sample4″>
<div class=”aka”>あいうえお</div>
<div class=”midori”>かきくけこ</div>
<div class=”ao”>さしすせそ</div>
</div>
</body>
</html>
ブラウザ上の表示
box-pack:start; を指定
box-pack:end; を指定
box-pack:center; を指定
box-pack:justify; を指定