你的位置:首页 > 网页设计

[网页设计]Bootstrap栅格系统


在学习前端的过程中,以前的布局都是通过css里面的position或者margin来调整布局。最近学习了几种布局方法。

这些布局方法有Bootstrap栅格系统、圣杯布局、负边距布局。

今天先讲讲Bootstrap栅格系统。

Bootstrap栅格系统:

Bootstrap内置了一套响应式、移动设备优先的流式栅格系统,随着屏幕设备或视口(viewport)尺寸的增加,系统会自动分为最多12列。它包含了易于使用的预定义classe,还有强大的mixin用于生成更具语义的布局。

简介:栅格系统用于通过一系列的行(row)与列(column)的组合创建页面布局,你的内容就可以放入建好的布局

中。下面就介绍以下Bootstrap栅格系统的工作原理:

1. “行(row)”必须包含在.container中,以便为其赋予合适的排列(aligment)和内补(padding)。

2.使用“行(row)”在水平方向创建一组“列(column)”。

3.你的内容应当放置于“列(column)”内,而且,只有“列(column)”可以作为行(row)”的直接子元素。

4.类似Predefined grid classes like .row and .col-xs-4 这些预定义的栅格class可以用来快速创建栅格布局。Bootstrap源码中定义的mixin也可以用来创建语义化的布局。

5.通过设置padding从而创建“列(column)”之间的间隔(gutter)。然后通过为第一和最后一样设置负值的margin从而抵消掉padding的影响。

6.栅格系统中的列是通过指定1到12的值来表示其跨越的范围。例如,三个等宽的列可以使用三个.col-xs-4来创建。

通过研究案例,可以将这些原理应用到你的代码中。

栅格选项:

通过下表可以详细查看Bootstrap的栅格系统如何在多种屏幕设备上工作的。

 

栅格class在屏幕宽度大于或等于阀值的设备上起作用,并且将针对小屏幕设备所设置的class覆盖掉。因此,对任何一个元素应用任何.col-md-class将不仅作用于中等尺寸的屏幕,还将作用于大屏幕设备(如果没有设置.col-lg-class的话)。

 

以下是用Bootstrap做的一个简单的布局:

 

 1 <body> 2   <div class="container"> 3     <div class="row r1"> 4       顶部内容 5     </div> 6     <div class="row r2"> 7       <div class="col-xs-5 col-xs-offset-4 left"> 8         左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 9         左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容 左边内容10 11       </div>12       <div class="col-xs-3 right">13         右边内容14       </div>15     </div>16     <div class="row r3">17       底部内容18     </div>19   </div>20 </body>

View Code

 

如上,一行分成12块来分布,col-xs-5就占了5块。可以得出如果想要得到3个等宽的列就可以用三个.col-xs-4来创建。

 

列偏移:

 

上面的布局还可以用列偏移来调整位置

 

初始位置:

  1. 使用.col-xs-offset-*可以将列偏移到右侧。这些class通过使用*选择器将所有列增加了列的左侧margin。如,.col-xs-offset-4将.col-xs-5向右移动了4个列的宽度。这个div移动后面的也要你跟着移动。但是前面不受影响。

效果图如下:

嵌套列

为了使用内置的栅格将内容嵌套,通过添加一个新的.row和一系列.col-md-*列到已经存在的.col-md-*列内即可实现。嵌套row所包含的列加起来应该等于12。

代码如下:

 

 1 <div class="col-xs-4 right"> 2         右边内容 3         <div class="row r2_1"> 4           <div class="col-xs-5 left2"> 5             右边的左部分 6           </div> 7           <div class="col-xs-7 right2"> 8             右边的右部分 9           </div>10         </div>11       </div>

View Code

 

效果图如下:

列排序

1.向右移动还可以用.col-xs-push-4,但是就只移动这个div,后面的没有影响。

代码:<div >

效果图:

把右边部分移到左边如下:

<div >

<div >

效果图:

  1. 向左移动用.col-xs-pull-4.但是就只移动这个div,后面的没有影响。

代码:<div >

效果图如下:

bootstrap栅格系统就写这些了,下一篇总结圣杯布局。