7

排 : margin-left: -20px;

行流体:没什么margin-left

为什么 row-fluid 没有margin-left通过某种方式去除它%

编辑:
.row-fluid >.span正在添加margin-left.

4

2 回答 2

4

您可以在此处找到有关 Bootstrap 流畅方面的更多信息:http: //twitter.github.com/bootstrap/scaffolding.html#fluidGridSystem

这是因为<span>封装在其中的标签.row具有margin-left: 20px. 负左边距是为了解决这个问题,以便该行正确显示。有了这种.row-fluid > span关系,该封装内的 span 标签没有左边距,因此不需要在其中更正.row-fluid

于 2013-03-28T08:45:26.127 回答
3

这很难解释,你的答案是粗体,其余的是上下文。

静态布局的逻辑是什么?

span元素必须与其他元素margin-left: 20px保持分离span

row元素必须margin-left: -20px确保第一个span- 或任何span放置在“左列”的元素 - 放置在container.

它之所以起作用,是因为 staticrow没有设置它的width,所以margin-left: -20px不会减去元素的宽度,继续填充它的祖先。

在流体布局中会发生什么?

我们可以尝试相同的逻辑,但不同之处在于元素的andwidth以百分比定义,所以如果我们增加元素的实际宽度(通过应用负数),这些元素也会增加它的大小,所以它们不会适合在.margin-leftspanrowmarginspancontainer

所以流体布局使用不同的技术来实现类似的结果,只需将 amargin-left: 0应用于:first-child.

深层发掘

为什么不在两种布局中使用相同的策略呢?当然,这将简化实现,但静态技术(不适用于流体)更强大。这是因为任何落在“左列”中的元素,无论是否:first-child存在,都将成为“边距更正”。静态布局需要这种行为来舒适地提供响应性,没有它,流体布局可以或多或少地管理。

于 2013-06-12T17:14:51.223 回答