爲什麼嵌套行不符合一行?
問題是填充和從well
元素的邊框。 span8
類在固定寬度row
內的固定寬度爲620px。
![First situation](https://i.stack.imgur.com/asuMC.png)
的well-large
元件具有24像素的填充(綠色部分)和1像素的邊界,因此嵌套行將藍色部分的內部。但藍色部分沒有620px的寬度,它有一個570px的寬度。
![Width inside the well element](https://i.stack.imgur.com/4XZdG.png)
嵌套行內的span
元件還具有一個固定的寬度。 span2
的寬度爲140px,span3
的寬度爲220px。
![Width of the spans](https://i.stack.imgur.com/HgJE5.png)
如果添加所有從span
元件的寬度和它們的邊距(220px + 140px + 220px +(20像素* 2)= 620px),該行的總寬度比well
元件更大(570px),所以最後一個元素被推送到下一行。
如何解決?
首次嘗試
我的第一個和更簡單的方法,是把類span8
在那樣的well
元素(JSFiddle):
<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>
這解決了前面的問題,但增加了一個問題。由於填充現在位於span8
元素中,主網格被破壞,因爲well元素的寬度爲670px(寬度爲620px,必須從填充和井的邊界添加50px)。
![Second situation](https://i.stack.imgur.com/zj1lm.png)
但現在的藍色部分,具有寬度的620px,因此嵌套行的所有元素可以在藍色部分完全適合。但正如我之前所說,電網已經壞了。例如,如果在span8
之後添加span4
元素,則span4
正被推送到下一行,就像之前發生的嵌套元素一樣。
所以用這個佈局(JSFiddle):
<div class="row">
<div class="span8 well well-large">
<!-- Some ramdom text -->
</div>
<div class="span4">
<!-- Some ramdom text -->
</div>
</div>
你有這樣的結果:如果你想有一個well
內3列
![Problem with first solution](https://i.stack.imgur.com/wIFDD.png)
最終解決
,你需要不同的網格系統。一種解決方案可以使用row-fluid
而不是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來創建三列布局,你不能僅使用引導span
元素。
我認爲你不應該把'span'和'well'類放在同一個元素上? – Shamoon
@Shannon是的,我的解決方案並不完美,並且有一些副作用,因爲我打破了將'span8'類放入井中的格子。我用一個新的JSFiddle編輯了我的問題(最後一個錯誤)。我現在不能,因爲我要去工作,但是當我回來沒有人回答這個問題時,我會延長我的回答。 – Pigueiras
@Shamoon我用更多的信息和另一種可能的解決方案編輯了這個問題,我希望它有助於:)。 – Pigueiras