Bootstrap栅格系统研究
来源:互联网 发布:15位身份证转换18位sql 编辑:程序博客网 时间:2024/04/30 11:20
上一篇文章中已经对网页的栅格系统做了大概的说明,有了这个铺垫在来看Bootstrap的栅格系统就比较容易了。
Bootstrap的栅格系统为12列(最大列数),形成一个940px宽的容器。
Bootstrap的栅格系统有俩种,一种是固定式的,一种是流式的(也就是可适应宽度的)。
1.固定式栅格
固定式栅格系统每列的宽度(width)及列与列间的间距(margin)都是固定的,列宽为60px,列间距为20px。如下图:
在Bootstrap中定义了俩个样式。容器为 .row
,可在容器中加入合适数量的 .span*
列。
用法如下:
<div class="row"> <div class="span4">...</div> <div class="span8">...</div></div>
用法非常类似<table> 标签。"<div class='row'>"相当于是<table>,"<div class='span4'>"、"<div class='span8'>" 相当于"<td cols='4'>"、"<td cols='8'>"。注意:由于默认是12列的栅格,所有 .span*
列所跨越的栅格数之和最多是12(或者等于其父容器的栅格数)。
源码的css样式如下:
[class*="span"] { float: left; min-height: 1px; margin-left: 20px;}
上面是个属性选择器。定义属性名为"class"的值包含子串"span",也就是span1、span2、span3....。"margin-left:20px"定义了每列的左边距为20px,也就是上图中的间距20px。
.row { margin-left: -20px; *zoom: 1;}
.row是定义栅格容器的,可以看到其中并没有定义宽度(width),所以其宽度就由内部栅格的总列宽决定。"margin-left:-20px" 定义容器的左边距负的20px(-20px),作用是抵销第1列前面的20px,在上图中已经标出。
.span12 { width: 940px;}.span11 { width: 860px;}.span10 { width: 780px;}.span9 { width: 700px;}.span8 { width: 620px;}.span7 { width: 540px;}.span6 { width: 460px;}.span5 { width: 380px;}.span4 { width: 300px;}.span3 { width: 220px;}.span2 { width: 140px;}.span1 { width: 60px;}
span1、span2...很像表格元素<table>中<td>的cols,即合并多少列。span1就是合并1列(即不合并),span2就是合并2列,span3是合并3列...。那为什么span2的宽度是140px那,我们可以算下:
上图演示了从第2列偏移1列到第3列。未移动前第2列的margin-left为20px,移动后由于占了俩个间距和一个列宽,所以最终的margin-left就是100px。
2.流式栅格
流式也固定式栅格的区别就是,每列的宽度是按照百分比来瓜分外围包裹的宽度的,看下源码:
.row-fluid { width: 100%; *zoom: 1;}
定义容器的宽度完全填充包裹外围容器的宽度。
.row-fluid [class*="span"]:first-child { margin-left: 0;}
清空第一列前面的边距,与固定式中的margin-left:-20px效果是一样的
.row-fluid [class*="span"] { display: block; float: left; width: 100%; min-height: 30px; margin-left: 2.127659574468085%; *margin-left: 2.074468085106383%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
我们这里只关注与宽度有关的代码。上面代码中margin-left:2.127659574468085% 以百分比设置列的左边距(margin-left),约等于2.12%,
我们以上面固定式中的940px 为例来算下大约是多少px。2.12% * 940 = 19.928 。 与20px很接近。
.row-fluid .span12 { width: 100%; *width: 99.94680851063829%;}.row-fluid .span11 { width: 91.48936170212765%; *width: 91.43617021276594%;}.row-fluid .span10 { width: 82.97872340425532%; *width: 82.92553191489361%;}.row-fluid .span9 { width: 74.46808510638297%; *width: 74.41489361702126%;}.row-fluid .span8 { width: 65.95744680851064%; *width: 65.90425531914893%;}.row-fluid .span7 { width: 57.44680851063829%; *width: 57.39361702127659%;}.row-fluid .span6 { width: 48.93617021276595%; *width: 48.88297872340425%;}.row-fluid .span5 { width: 40.42553191489362%; *width: 40.37234042553192%;}.row-fluid .span4 { width: 31.914893617021278%; *width: 31.861702127659576%;}.row-fluid .span3 { width: 23.404255319148934%; *width: 23.351063829787233%;}.row-fluid .span2 { width: 14.893617021276595%; *width: 14.840425531914894%;}.row-fluid .span1 { width: 6.382978723404255%; *width: 6.329787234042553%;}
上面的代码是设置列的宽度(width),其中的百分比的得来也是按照固定式中的原则算的。
转自:http://www.see-source.com/blog/300000033/273
- Bootstrap栅格系统研究
- Bootstrap栅格系统研究
- Bootstrap栅格系统研究
- Bootstrap栅格系统研究
- Bootstrap栅格系统研究
- Bootstrap中的栅格栅格系统
- CSS Bootstrap 栅格系统
- Bootstrap 栅格系统
- bootstrap 栅格系统
- Bootstrap-栅格系统
- bootstrap--栅格系统
- Bootstrap 栅格系统
- BootStrap栅格系统
- Bootstrap 栅格系统
- Bootstrap 栅格系统
- Bootstrap 栅格系统
- bootstrap 栅格系统
- Bootstrap 栅格系统
- 图--最短路径--迪杰斯特拉算法
- 【LeetCode】Sqrt(x)
- 南阳理工OJ_题目712 探 寻 宝 藏
- CSS3----实现光芒旋转头像动画
- 深度破解中国移动电源的诟病
- Bootstrap栅格系统研究
- sqoop应用实例1
- WinXP系统CPU使用率高的缘由及解决途径
- Android应用的开发步骤
- 对象访问,java栈,java堆,hashcode()的作用
- MySQL查询优化系列之MySQL查询优化器
- 【C语言学习】02__auto,static,register分析
- oracle PL/SQL连接失败处理,配置监听
- zookeeper maven-dependency