bootstrap--栅格系统

来源:互联网 发布:工业设计所需软件 编辑:程序博客网 时间:2024/05/29 16:31

栅格系统的工作原理:
- “行(row)”必须包含在 .container (固定宽度)或 .container-fluid (100% 宽度)中,以便为其赋予合适的排列(aligment)和内补(padding)。
- 通过“行(row)”在水平方向创建一组“列(column)”。
- 内容应当放置于“列(column)”内,并且,只有“列(column)”可以作为行(row)”的直接子元素。
- 类似 .row 和 .col-xs-4 这种预定义的类,可以用来快速创建栅格布局。Bootstrap 源码中定义的 mixin 也可以用来创建语义化的布局。
- 通过为“列(column)”设置 padding 属性,从而创建列与列之间的间隔(gutter)。通过为 .row 元素设置负值 margin 从而抵消掉为 .container 元素设置的 padding,也就间接为“行(row)”所包含的“列(column)”抵消掉了padding。
- 负值的 margin就是下面的示例为什么是向外突出的原因。在栅格列中的内容排成一行。
- 栅格系统中的列是通过指定1到12的值来表示其跨越的范围。例如,三个等宽的列可以使用三个 .col-xs-4 来创建。
- 如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列。
栅格参数
通过下表可以详细查看 Bootstrap 的栅格系统是如何在多种屏幕设备上工作的。
这里写图片描述
多余的列(column)将另起一行排列
如果在一个 .row 内包含的列(column)大于12个,包含多余列(column)的元素将作为一个整体单元被另起一行排列。

<div class="row">  <div class="col-xs-9">.col-xs-9</div>  <div class="col-xs-4">.col-xs-4<br>Since 9 + 4 = 13 &gt; 12, this 4-column-wide div gets wrapped onto a new line as one contiguous unit.</div>  <div class="col-xs-6">.col-xs-6<br>Subsequent columns continue along the new line.</div></div>

这里写图片描述
响应式列重置
在某些阈值时,某些列可能会出现比别的列高的情况。为了克服这一问题,建议联合使用 .clearfix 和 响应式工具类。

<div class="row">  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>  <!-- Add the extra clearfix for only the required viewport -->  <div class="clearfix visible-xs-block"></div>  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div>  <div class="col-xs-6 col-sm-3">.col-xs-6 .col-sm-3</div></div>

这里写图片描述
列偏移
使用 .col-md-offset- 类可以将列向右侧偏移。这些类实际是通过使用 选择器为当前元素增加了左侧的边距(margin)。例如,.col-md-offset-4 类将 .col-md-4 元素向右侧偏移了4个列(column)的宽度。
嵌套列

<div class="row">  <div class="col-sm-9">    Level 1: .col-sm-9    <div class="row">      <div class="col-xs-8 col-sm-6">        Level 2: .col-xs-8 .col-sm-6      </div>      <div class="col-xs-4 col-sm-6">        Level 2: .col-xs-4 .col-sm-6      </div>    </div>  </div></div>

这里写图片描述
列排序
通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列(column)的顺序。

<div class="row">  <div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div>  <div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div></div>

这里写图片描述

从代码和图中发现,代码中先写的是.col-md-9 .col-md-push-3,而图中首先出现的是.col-md-3 .col-md-pull-9。这里可以看作,pull是从右往左拉,所以pull从右往左占了9列,因为位置就靠左。push则是从左往右推,此处push是从左往右推了3列,所以两列合在一起的时候,左右位置发生了变化。

0 0
原创粉丝点击