Bootstrap - 为什么只有12列?

时间:2014-03-04 10:08:24

标签: twitter-bootstrap twitter-bootstrap-3

为什么我限制在12列?为什么不是默认更多,为了更大的灵活性?

让我解释一下令我困惑的事情。假设我想创建一个带有左侧菜单的简单页面和右侧的内容。

<div class="col-sm-3">Left menu</div> <!-- 258px -->
<div class="col-sm-9">Content</div> <!-- 772px -->

<div class="col-sm-4">Left menu</div> <!-- 343px -->
<div class="col-sm-8">Content</div> <!-- 687px -->

如上例所示,菜单中sm-3和sm-4的差异几乎为100px!如果我想要菜单是300px,我不能使用网格。如果我有更多的列,我可能会更精确。

我是否以错误的方式使用网格系统?为什么网格分为几列?

7 个答案:

答案 0 :(得分:9)

如果您不想通过LESS自定义Bootstrap网格,可以像这样使用嵌套..

16列网格:http://www.bootply.com/118737

24列网格:http://www.bootply.com/118739

答案 1 :(得分:7)

您可以使用LESS编辑列数。

12是默认值,因为它是最灵活的网格模式,超过12的任何可能数字。

 COLUMNS   | EVEN COLUMNS POSSIBLE
 1 column  = 1 (1x1)
 2 columns = 2 (1x2, 2x1)
 3 columns = 2 (1x3, 3x1)
 4 columns = 2 (1x4, 2x2, 4x1)
 5 columns = 2 (1x5, 5x1)
 6 columns = 4 (1x6, 2x3, 3x2, 6x1)
 7 columns = 2 (1x7, 7x1)
 8 columns = 4 (1x8, 2x4, 4x2, 8x1)
 9 columns = 3 (1x9, 3x3 9x1)
10 columns = 4 (1x10, 2x5, 5x2, 10x1)
11 columns = 2 (1x11, 11x1)

<强> 12 columns = 6 (1x12, 2x6, 3x4, 4x3, 6x2, 12x1)

答案 2 :(得分:2)

大多数版本的Bootstrap仅使用12列来解释以下内容:

  • 更容易制作布局
  • 移动设备的响应式布局
  • 保持一切对称的比例“块”
  • 更简单的“用户友好”主题

你是对的。您被限制为最大宽度,并且列的宽度必须加到最大宽度,并且不能超过它。但是,您不必在您的网站上保留该政策。

您可以随时覆盖CSS并根据需要自定义列宽!

要执行此操作(并尊重网站的最大宽度),首先需要找到最大列的像素数,即col-12。您可以看到您网站的最大可能宽度为1030像素。

让我们来看看你想要的东西:

  

如果我希望菜单为300px,我就无法使用网格。

你可以在一定程度上仍然使用网格的同时做到这一点。我们只需将菜单设置为300px(就像你问的那样),并为主要内容提供剩下的空间(1030px - 300px = 730px)。

所以我们需要一个300px的盒子和一个730px的盒子。

以下是您可以使用的内容:

<div class="col-sm-3" style="width:300px;">Left menu</div> <!-- 300px -->
<div class="col-sm-9" style="width:730px;">Content</div> <!-- 730px -->

基本上,您可以将布局比例更改为您想要的任何内容。总宽度只需要匹配网站的其余部分。我希望有所帮助。

-Dominick

答案 3 :(得分:1)

请查看https://github.com/Aelios/bootstrap-flexible-grid

允许您自定义每个Bootstrap行列数。

答案 4 :(得分:0)

这是一个有趣的问题,我相信它永远不会有明确的答案(没有经过大量的调查)显然它不在任何官方文件中。

我找到的大多数理由实际上都是事实上的理由/ post hoc ergo propter hoc 恕我直言。

也许某人只是直觉地认为它是一个很好的默认值,因为不到那可能感觉太少,太多了,而且数字12基本上对每个人都非常熟悉(12个月,中午前12个小时和之后12个小时...等等)

据我所知,这可能是使用the duodecimal numeral system

的潜意识决定

答案 5 :(得分:0)

看起来12是一个任意值,因为脚上有12“,它将是12吗?

答案 6 :(得分:0)

嗯,原因很简单,因为它可以被12346、{ {1}}。这也很容易计算和完成您的布局。

您可以使用 12 到一个 col-12div

或者使用element类将相同的空间分成twodivs

或者您可以使用 col-6 类使 three 等于 divs

或通过使用 col-4 类获得 4 columns

甚至是 col-3 使用 6 columns

甚至通过使用 col-2 类获得 12 columns 布局

你看到了吗?操作和计算您想要的空间是多么容易。

更不用说还有其他 col-1 系统,例如 grid8 系统,但每个系统都有自己的优点和缺点。但从我个人的角度来看,我认为 16 列的网格是最灵活的,因为您可以让 12 等于 3,这在我看来是一个巨大的优势。