2016年5月29日晚上(传智Bootstrap笔记四(栅格系统 ))

一、栅格系统(网格系统)

 1、栅格系统介绍

    (1)Bootstrap提供了一套响应式、移动设备优先的栅格系统。随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了用于简单的布局选项的预定义类,也包含了用于生成更多语义布局的功能强大的混合类。

   Bootstrap的栅格系统,由一个行和多个列构成。栅格系统通过行列的形式来创建网页布局,把具体的数据放入列当中。

  (注意:栅格系统,必须放在container和container-fluid之中)

    (2)移动设备优先策略

  • 内容:决定什么是最重要的。

  • 布局

    • 优先设计更小的宽度。

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

  • 渐进增强

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

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

1 1 1 1 1 1 1 1 1 1 1 1
4 4 4
4 8
6 6
12

 2、栅格系统参数

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

 超小设备手机(<768px)小型设备平板电脑(≥768px)中型设备台式电脑(≥992px)大型设备台式电脑(≥1200px)
网格行为 一直是水平的 以折叠开始,断点以上是水平的 以折叠开始,断点以上是水平的 以折叠开始,断点以上是水平的
最大容器宽度 None (auto) 750px 970px 1170px
Class 前缀 .col-xs- .col-sm- .col-md- .col-lg-
列数量和 12 12 12 12
最大列宽 Auto 60px 78px 95px
间隙宽度 30px
(一个列的每边分别 15px)
30px
(一个列的每边分别 15px)
30px
(一个列的每边分别 15px)
30px
(一个列的每边分别 15px)
可嵌套 Yes Yes Yes Yes
偏移量 Yes Yes Yes Yes
列排序 Yes Yes Yes Yes

  3、Bootstrap 网格系统(Grid System)的工作原理

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

  • 行必须放置在 .containe内,以便获得适当的对齐(alignment)和内边距(padding)
  • 使用行来创建列的水平组。
  • 内容应该放置在列内,且唯有列可以是行的直接子元素。
  • 预定义的网格类,比如 .row 和 .col-xs-4,可用于快速创建网格布局。LESS 混合类可用于更多语义布局。
  • 列通过内边距(padding)来创建列内容之间的间隙。该内边距是通过 .rows 上的外边距(margin)取负,表示第一列和最后一列的行偏移。
  • 网格系统是通过指定您想要横跨的十二个可用的列来创建的。例如,要创建三个相等的列,则使用三个 .col-xs-4

  4、实例

<body style="padding:50px;background-color:#ccc;">
       <div class="container" style="padding:50px;background-color:#fff">
           <div class="row">
               <div class="col-md-4">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。在关于 bootstrap 的栅格系统工作原理上我见过很多人都对它比较困扰、
                   懊恼,每次都需要我解释很多遍后别人才能理解,</div>
               <div class="col-md-4">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。</div>
               <div class="col-md-4">在关于 bootstrap 的栅格系统工作原理上我见过很多人都对它比较困扰、
                   懊恼,每次都需要我解释很多遍后别人才能理解,</div>
           </div>
       </div>
    </body>

        

 <body style="padding:50px;background-color:#ccc;">
       <div class="container" style="padding:50px;background-color:#fff">
           <div class="row">
               <div class="col-md-8">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。在关于 bootstrap 的栅格系统工作原理上我见过很多人都对它比较困扰、
                   懊恼,每次都需要我解释很多遍后别人才能理解,</div>
               <div class="col-md-4">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。</div>
           </div>
       </div>
    </body>

      

    注意:如果列数超出12列,则会自动换行;如果列数低于12列,则无所谓。

  5、列偏移

  也就是说:一个栏向右偏移多少个列。.col-md-offset-* 

  .col-md-offset-2     //指定的栏向右偏移2个列;

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

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

<body style="padding:50px;background-color:#ccc;">
       <div class="container" style="padding:50px;background-color:#fff">
           <div class="row">
               <div class="col-md-4" style="border:1px solid red;">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。在关于 bootstrap 的栅格系统工作原理上我见过很多人都对它比较困扰、
                   懊恼,每次都需要我解释很多遍后别人才能理解,</div>
               <div class="col-md-offset-4 col-md-4" style="border:1px solid red;">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。</div>
           </div>
       </div>
    </body>

              

  6、列嵌套

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

<body style="padding:50px;background-color:#ccc;">
       <div class="container" style="padding:50px;background-color:#fff">
           <div class="row">
               <div class="col-md-4" style="border:1px solid red;" >像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因,
                   那就真的很苦逼了,尤其是在某些动态改变和变化的 UI 上。在关于 bootstrap 的栅格系统工作原理上我见过很多人都对它比较困扰、
                   懊恼,每次都需要我解释很多遍后别人才能理解,</div>
               <div class="col-md-8" style="border:1px solid red;">像 CSS 栅格系统原理这类东西本应该藏在帘子后面,你直接用就可以了,没必要去了解其背后的工作原理,
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因。
                   除非你有了比较烂的设计或者一些比较复杂的东西,当你无法找出 spacing, margin, padding 等这些补白全都乱的原因。
                   <!--嵌套栅格系统-->
                   <div class="row">
                       <div class="col-md-6" style=" height:120px;background-color:yellow;"></div>
                       <div class="col-md-6" style="height:120px;background-color:green;"></div>
                   </div>
               </div>
           </div>
       </div>
    </body>

          

原文地址:https://www.cnblogs.com/zzjeny/p/5540358.html