天天看点

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

摘自维基百科:

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。
在平面设计中,网格是一种由一系列用于组织内容的相交的直线(垂直的、水平的)组成的结构(通常是二维的)。它广泛应用于打印设计中的设计布局和内容结构。在网页设计中,它是一种用于快速创建一致的布局和有效地使用 HTML 和 CSS 的方法。

简单地说,网页设计中的网格用于组织内容,让网站易于浏览,并降低用户端的负载。

Bootstrap 官方文档中有关网格系统的描述:

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。
Bootstrap 包含了一个响应式的、移动设备优先的、不固定的网格系统,可以随着设备或视口大小的增加而适当地扩展到 12 列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

让我们来理解一下上面的语句。Bootstrap 3 是移动设备优先的,在这个意义上,Bootstrap 代码从小屏幕设备(比如移动设备、平板电脑)开始,然后扩展到大屏幕设备(比如笔记本电脑、台式电脑)上的组件和网格。

内容

决定什么是最重要的。

布局

优先设计更小的宽度。

基础的 CSS 是移动设备优先,媒体查询是针对于平板电脑、台式电脑。

渐进增强

随着屏幕大小的增加而添加元素。

相应式的网格系统随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

1

4

8

6

12

网格系统通过一系列包含内容的行和列来创建页面布局。下面列出了 Bootstrap 网格系统是如何工作的:

行必须放置在 .container class 内,以便获得适当的对齐(alignment)和内边距(padding)。

使用行来创建列的水平组。

内容应该放置在列内,且唯有列可以是行的直接子元素。

预定义的网格类,比如 .row 和 .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。

列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。

网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4。

媒体查询是非常别致的"有条件的 CSS 规则"。它只适用于一些基于某些规定条件的 CSS。如果满足那些条件,则应用相应的样式。

Bootstrap 中的媒体查询允许您基于视口大小移动、显示并隐藏内容。下面的媒体查询在 LESS 文件中使用,用来创建 Bootstrap 网格系统中的关键的分界点阈值。

我们有时候也会在媒体查询代码中包含 max-width,从而将 CSS 的影响限制在更小范围的屏幕大小之内。

媒体查询有两个部分,先是一个设备规范,然后是一个大小规则。在上面的案例中,设置了下列的规则:

让我们来看下面这行代码:

对于所有带有 min-width: @screen-sm-min 的设备,如果屏幕的宽度小于 @screen-sm-max,则会进行一些处理。

下表总结了 Bootstrap 网格系统如何跨多个设备工作:

超小设备手机(<768px)

小型设备平板电脑(≥768px)

中型设备台式电脑(≥992px)

大型设备台式电脑(≥1200px)

网格行为

一直是水平的

以折叠开始,断点以上是水平的

最大容器宽度

None (auto)

750px

970px

1170px

Class 前缀

.col-xs-

.col-sm-

.col-md-

.col-lg-

列 #

最大列宽

Auto

60px

78px

95px

间隙宽度

30px

(一个列的每边分别 15px)

可嵌套

Yes

偏移量

列排序

下面是 Bootstrap 网格的基本结构:

以下实例包含了4个网格,但是我们在小设备浏览时无法确定网格显示的位置。

浏览器上调整窗口大小查看变化,或在您手机上查看效果。

偏移是一个用于更专业的布局的有用功能。它们可用来给列腾出更多的空间。例如,.col-xs=* 类不支持偏移,但是它们可以简单地通过使用一个空的单元格来实现该效果。

为了在大屏幕显示器上使用偏移,请使用 .col-md-offset-* 类。这些类会把一个列的左外边距(margin)增加 * 列,其中 * 范围是从 1到 11。

在下面的实例中,我们有 <div class="col-md-6">..</div>,我们将使用 .col-md-offset-3 class 来居中这个 div。

结果如下所示:

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

为了在内容中嵌套默认的网格,请添加一个新的 .row,并在一个已有的 .col-md-* 列内添加一组 .col-md-* 列。被嵌套的行应包含一组列,这组列个数不能超过12(其实,没有要求你必须占满12列)。

在下面的实例中,布局有两个列,第二列被分为两行四个盒子。

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

Bootstrap 网格系统另一个完美的特性,就是您可以很容易地以一种顺序编写列,然后以另一种顺序显示列。

您可以很轻易地改变带有 .col-md-push-* 和 .col-md-pull-* 类的内置网格列的顺序,其中 * 范围是从 1 到 11。

在下面的实例中,我们有两列布局,左列很窄,作为侧边栏。我们将使用 .col-md-push-* 和 .col-md-pull-* 类来互换这两列的顺序。

Bootstrap<基础二> 网格系统Bootstrap 提供了一套响应式、移动设备优先的流式网格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。

系列文章:

<a href="http://www.cnblogs.com/lansy/p/4334611.html%20" target="_blank">Bootstrap &lt;基础一&gt; css 概览</a>

<a href="http://www.cnblogs.com/lansy/p/4337381.html%20" target="_blank">Bootstrap&lt;基础二&gt;网络系统</a>

<a href="http://www.cnblogs.com/lansy/p/4339002.html%20" target="_blank">Bootstrap&lt;基础三&gt;排版</a>

<a href="http://www.cnblogs.com/lansy/p/4341498.html%20" target="_blank">Bootstrap&lt;基础四&gt; 代码</a>

<a href="http://www.cnblogs.com/lansy/p/4343823.html%20" target="_blank">Bootstrap &lt;基础五&gt;表格</a>

<a href="http://www.cnblogs.com/lansy/p/4346492.html">Bootstrap&lt;基础六&gt; 表单</a>

<a href="http://www.cnblogs.com/lansy/p/4355913.html%20" target="_blank">Bootstrap &lt;基础七&gt;按钮</a>

<a href="http://www.cnblogs.com/lansy/p/4380536.html%20" target="_blank">Bootstrap &lt;基础八&gt;图片</a>

<a href="http://www.cnblogs.com/lansy/p/4395706.html" target="_blank">Bootstrap&lt;基础九&gt;辅助类</a>

<a href="http://www.cnblogs.com/lansy/p/4397409.html%20" target="_blank">Bootstrap&lt;基础十&gt; 响应式实用工具</a>

<a href="http://www.cnblogs.com/lansy/p/4401476.html%20" target="_blank">Bootstrap&lt;基础十一&gt;字体图标(Glyphicons)</a>

<a href="http://www.cnblogs.com/lansy/p/4408654.html%20" target="_blank">Bootstrap &lt;基础十二&gt;下拉菜单(Dropdowns)</a>

<a href="http://www.cnblogs.com/lansy/p/4413528.html%20" target="_blank">Bootstrap&lt;基础十三&gt; 按钮组</a>

<a href="http://www.cnblogs.com/lansy/p/4423945.html%20" target="_blank">Bootstrap&lt;基础十四&gt; 按钮下拉菜单</a>

<a href="http://www.cnblogs.com/lansy/p/4427558.html%20" target="_blank">Bootstrap&lt;基础十五&gt; 输入框组</a>

<a href="http://www.cnblogs.com/lansy/p/4430985.html%20" target="_blank">Bootstrap&lt;基础十六&gt; 导航元素</a>

<a href="http://www.cnblogs.com/lansy/p/4433938.html%20" target="_blank">Bootstrap&lt;基础十七&gt;导航栏</a>

<a href="http://www.cnblogs.com/lansy/p/4440639.html%20" target="_blank">Bootstrap &lt;基础十八&gt;面包屑导航(Breadcrumbs)</a>

<a href="http://www.cnblogs.com/lansy/p/4440639.html%20" target="_blank">Bootstrap &lt;基础十九&gt;分页</a>

<a href="http://www.cnblogs.com/lansy/p/4446365.html%20" target="_blank">Bootstrap&lt;基础二十&gt; 标签</a>

<a href="http://www.cnblogs.com/lansy/p/4449345.html%20" target="_blank">Bootstrap &lt;基础二十一&gt;徽章(Badges)</a>

<a href="http://www.cnblogs.com/lansy/p/4452409.html%20" target="_blank">Bootstrap &lt;基础二十二&gt;超大屏幕(Jumbotron)</a>

<a href="http://www.cnblogs.com/lansy/p/4458972.html%20" target="_blank">Bootstrap &lt;基础二十三&gt;页面标题(Page Header)</a>

<a href="http://www.cnblogs.com/lansy/p/4462048.html%20" target="_blank">Bootstrap&lt;基础二十四&gt; 缩略图</a>

<a href="http://www.cnblogs.com/lansy/p/4475377.html%20" target="_blank">Bootstrap &lt;基础二十五&gt;警告(Alerts)</a>

<a href="http://www.cnblogs.com/lansy/p/4478334.html%20" target="_blank">Bootstrap &lt;基础二十六&gt;进度条</a>

继续阅读