レスポンシブ グリッドを作成しようとしています。フローティングの子を含む「親」div があります。ページ幅に応じて、可変数の子が「行」ごとに表示されます。子供たちは中心にいるべきです。
親divに設定した子に合わせて「親」divを取得するにはdisplay:table
。
次のフィドルを参照してください。
http://jsfiddle.net/dwjbosman/cXuQ6/5/
CSS:
.page {
background: #a00;
width:700px;
margin: 20px;
}
.Parent {
background: #ccc;
border: 1px solid black;
display: table;
margin-left: auto;
margin-right:auto;
}
.Child {
float: left;
width: 150px;
height: 50px;
background:red;
margin: 5px;
}
.br {
clear: both;
}
html:
<div class='page'>O1
<div class="Parent">
<div class="Child">a</div>
<div class="Child">b</div>
<div class="Child">c</div>
<div class="Child">d</div>
</div>
例 O1 は期待どおりに動作します。しかし、私はそれがより多くの浮遊する子供たちと一緒に働きたいと思っています。
例 O2: clear: both
1 行の子の後に手動で挿入すると機能します。もちろん、これはレイアウトの応答性を損ないます。
「クリア」を省略すると、機能しなくなり、結果は例 O3 になります。親の div が広すぎて、子が中央に配置されなくなります。
応答性の高い動作を維持しながら、O2 の動作例を取得する方法はありますか?