コンテナー内に一連のインライン ブロック div があります。この div で適切な「テーブルのような」グリッドを形成し、要素を左に揃えて配置したいので、グリッドの最後の行に含まれる要素が他の行よりも少ない場合、グリッドは壊れません。
また、グリッド自体をコンテナに対して中央に配置する必要があります。
ここに私が必要とするものの図があります: http://note.io/157hjk1
明らかな方法は、グリッドをラッパー内に配置し、ラッパーに設定text-align: left
し、ラッパー自体を親コンテナー内に配置することです。
ただし、その場合のラッパーの幅は、1 行の要素の長さの合計には収まらず、代わりにコンテナーの幅に収まります。
通常の解決策 -display:inline-block
おそらくラッパー内のインラインブロックが原因で、ラッパーの設定は機能しません。
HTML
<div class="container">
<div class="wrap">
<div class="square">1</div>
<div class="square">2</div>
<div class="square">3</div>
<div class="square">4</div>
<div class="square">5</div>
<div class="square">6</div>
<div class="square">7</div>
</div>
</div>
CSS
.square {
width: 50px;
height: 50px;
background-color: red;
margin: 2px;
display: inline-block;
}
.wrap{
border: 1px solid green;
}
.container{
width: 250px;
border: 1px solid blue;
padding: 5px;
}
JSFiddle と私のコードはこちらから入手できます - http://jsfiddle.net/prepin/gzB5k/