<div class="row">
<div class="span8">
<div class="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>
那是我的结构。买入价,执行价和卖出价应该都在同一行。因为他们在井里,他们似乎没有。这种已知行为是否存在呢?
答案 0 :(得分:8)
问题是来自well
元素的填充和边框。 span8
类在正常row
内时的固定宽度为620像素。
well-large
元素的填充为24px(绿色部分),边框为1px,因此嵌套行将位于蓝色部分内。但是蓝色部分的宽度不是620px,宽度是570px。
嵌套行中的span
元素也具有固定宽度。 span2
的宽度为140像素,span3
的宽度为220像素。
如果添加span
元素及其边距(220px + 140px + 220px +(20px * 2)= 620px)的所有宽度,则行的总宽度大于{{1} } element(570px),因此最后一个元素被推送到下一行。
首次尝试
我的第一个更简单的解决方案是将课程well
放在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>
元素中,因此主网格被破坏,因为井元素的宽度为670px(宽度为620px,您必须从填充和边界添加50px)。
但现在蓝色部分的宽度为620px,因此嵌套行的所有元素都可以完美地适合蓝色部分。但正如我之前所说,电网坏了。例如,如果您在span8
之后添加span4
元素,则span8
将被推送到下一行,就像之前使用嵌套元素一样。
使用此布局(JSFiddle):
span4
你有这个结果:
最终解决方案
如果您想要<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
。使用row
时,row-fluid
元素的宽度是百分比,而不是固定宽度。
使用此布局(JSFiddle):
span
你可以实现类似于你想要的东西。如果你想要一个3/8,2 / 8和3/8的精确比例(就像你的初始设置有跨度),你必须使用CSS来制作三列布局,你不能只使用bootstrap {{ 1}}元素。