ネストされた行が 1 行に収まらないのはなぜですか?
well
問題は、要素のパディングとボーダーです。span8
class が normal 内にある場合、幅は 620px に固定されますrow
。
要素には 24pxのwell-large
パディング (緑色の部分) と 1px の境界線があるため、ネストされた行は青色の部分の内側になります。しかし、青い部分は 620px 幅ではなく、570px 幅です。
span
ネストされた行内の要素も固定幅です。span2
幅は 140px でspan3
、幅は 220px です。
要素とその余白のすべての幅を追加するspan
と (220px + 140px + 220px + (20px * 2) = 620px)、行の合計幅はwell
要素 (570px) より大きくなるため、最後の要素がプッシュされます。次の行へ。
それを解決する方法は?
最初の試み
私の最初の簡単な解決策は、そのような要素にクラスを配置することです(span8
JSFiddle ):well
<div class="row">
<div class="span8 well well-large">
<h3>Place an Order</h3>
<div class="row">
<div class="span3">Bid Price</div>
<div class="span2">Execute</div>
<div class="span3">Ask Price</div>
</div>
</div>
</div>
これにより、前の問題は解決されますが、1 つ問題が追加されます。パディングがspan8
要素内にあるため、ウェル要素の幅が 670px であるため、メイン グリッドが壊れています (620px の幅には、パディングとウェルの境界から 50px を追加する必要があります)。
しかし、今では青い部分の幅が 620px になっているため、ネストされた行のすべての要素が青い部分に完全に収まります。しかし、前にも言ったように、グリッドは壊れています。たとえば、 の後に要素を追加するとspan4
、ネストされた要素で以前に起こっていたように、 が次の行にプッシュされます。span8
span4
したがって、このレイアウト(JSFiddle)では:
<div class="row">
<div class="span8 well well-large">
<!-- Some ramdom text -->
</div>
<div class="span4">
<!-- Some ramdom text -->
</div>
</div>
次の結果が得られます。
最終的解決
内に 3 つの列well
が必要な場合は、別のグリッド システムが必要です。row-fluid
の代わりに使用できるソリューションの 1 つですrow
。ではrow-fluid
、span
要素の幅は固定幅ではなくパーセンテージです。
このレイアウト ( JSFiddle ) では:
<div class="row">
<div class="span8">
<div class="well well-large">
<h3>Place an Order</h3>
<div class="row-fluid">
<div class="span4">Bid Price</div>
<div class="span4">Execute</div>
<div class="span4">Ask Price</div>
</div>
</div>
</div>
</div>
あなたが本当に望んでいたものに似たものを達成することができます。3/8、2/8、3/8 の正確な比率が必要な場合 (スパンを使用した初期セットアップのように)、CSS を使用して 3 列のレイアウトを作成する必要があります。ブートストラップspan
要素だけを使用してそれを行うことはできません。