【发布时间】:2016-08-21 03:15:13
【问题描述】:
一旦您进入嵌套行,Bootstrap 似乎会打破自己的网格。这是一个很好的例子:
div {
border: 1px solid gray;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div>
</div>
<div class="row">
<div class="col-xs-1">col</div>
<div class="col-xs-10">
<div class="row">
<div class="col-xs-5">nested col-xs-5</div>
<div class="col-xs-7">nested col-xs-7</div>
</div>
</div>
<div class="col-xs-1">col</div>
</div>
</div>
我希望能够使“嵌套 xs-col-*”列与顶部的 12 个列完全对齐。如果我创建内部类 col-xs-3/col-xs-7(像包含的 col 一样加起来最多 10 个),它也不起作用。这只是在右边留下了一个空白。
如果您使用奇数宽度,一旦您进入嵌套行,Bootstrap 实际上不会让您尊重网格是否正确?还是我做错了?
在我看来,网格的重点是事物应该对齐。如果我想要完美对齐,我是否必须远离(非平凡的)嵌套行?
【问题讨论】:
-
我认为这与 Bootstrap 是基于百分比的有关。因此,在您的顶级列中,col-X-1 是所有可用宽度的 8.3333%。那么内部级别是行的 8.333%,即总宽度的 83.34%。所以你的 col-X-1 不再是总宽度的 8.3333%,而是 83.34% 的 8.333%
-
我认为你是对的。但这意味着(除非您使用自定义选项,转到大量列并计算它)复杂的嵌套将无法与您的网格对齐。这是网格的全部点,不是吗?也许我过于规范或试图实现过于复杂的嵌套。 (我实际上想让表格列尊重网格。)
-
Gleb 有一个很好的答案。您仅限于以整数结尾的比例,而不是分数。这样,您将能够完成完美对齐的网格。 nateroling.com/2014/12/15/aligning-nested-grids
标签: css twitter-bootstrap grid-layout