正方形の要素の周りにいくつかのコンテナー div を追加し、ディスプレイとテキストの配置をいじって、純粋な CSS でそれを行いました。ここでデモを見る
HTML:
<div id='container'>
<div id='outline'>
<div class='innerbox'></div>
<div class='innerbox'></div>
<div class='innerbox'></div>
<!-- As many as you want -->
</div>
</div>
CSS:
#container {
width:100%;
text-align:center;
}
#outline {
text-align: left;
display: inline-block;
/* for ie6/7: */
*display: inline;
padding:5px 5px 0px 5px;;
border: 1px black dashed;
zoom:1;
}
.innerbox {
display:inline-block;
margin:0 auto 0 auto;
height:50px;
width:50px;
background:red;
}
以下のコメントに基づくメモ
ボックスが複数の行を占める場合、右端のボックスとそのコンテナーの右の間にスペースがあります。ある種の JavaScript がないと、この小さなスペースを完全に削除することは不可能です
JavaScriptを使用して完全な機能を追加するために編集
これは、javascript と jQuery を使用して完全な機能を実現しようとする私の試みです: demo here。追加された s のためにウィンドウサイズを縮小すると、まだグリッチが発生し<br/>
ますが、修正を探します。回答に加えて、コードが一部のユーザーに役立つ可能性があります。ただし、私のソリューションはあなたのものよりも少し一般的だと思います。適切なアイデアを得るお手伝いができれば幸いです。
後で追加された純粋な JavaScript バージョン
これが、この目的の私の最新バージョンです。純粋な JavaScript であり、コンテナの必要性をなくし、ハードコードされたパディング値を削除します