これが私がhtmlに持っているものです:
<div class="row" id="row1">
<div class="box" id="box1"> </div>
<div class="box" id="box2"> </div>
<div class="box" id="box3"> </div>
</div>
そして、これが私がそれでやりたいことです:
赤い矢印は、幅に関係なくrow1
(または3つのボックスでも)すべて同じ長さです
試み
これが私のcssです:
/* 1 row per line */
.row {
display: block;
text-align: center;
}
/* and the box is inline */
.box {
display: inline-block;
text-align: justified;
height: 50px;
margin: 0 auto;
}
結果:
緑の矢印が同じ長さの場所
それらの幅を一時的に次のように定義しました
#box1 { width: 50px; }
#box2 { width: 90px; }
#box3 { width: 50px; }
w = 行幅にすると
、間隔は任意の w >= sum( 子ボックスの幅 ) で機能するはずです
しかし、firebug によると、ボックスにはmargin: 0 auto;
私は成功せずにしばらくこれをいじっています。どんな助けでも大歓迎です。
編集
最終的に、<div class="window"></div>
各行にさらに任意の数のボックスが含まれる、任意の数の行を含む が作成されます。
各ボックスの幅と高さを定義すると、それに応じて行とウィンドウのサイズが調整されます (これは、ブロック レベルの要素が既定で動作する方法です)。
- 行の高さは、すべての子ボックスの最大の高さと同じです。
- ウィンドウの高さは、すべての行の高さの合計です
- ウィンドウの幅は、すべての子ボックスの幅の合計が最大の行の幅です。
最初の 2 つは自動ですが、3 つ目はすべての行の作業が終わった後に設定できます。これで、行の残りの幅がいっぱいになります ( .row {width: 100%; }
)。ただし、一部の行には、合計幅がウィンドウの幅よりも小さいボックスが含まれる場合があります。
最終結果は次のようになります
。同じ色の矢印 (間隔) は同じ幅にする必要があります。(図の 2 行目の場合、間隔は単純に 0 です。ウィンドウ (および他のすべての行) の幅は、その幅に一致します)
一般的なアプローチが優先されます。