- 媒体查询
在栅格系统中,我们在 Less 文件中使用以下媒体查询(media query)来创建关键的分界点阈值。
/* 超小屏幕(手机,小于 768px) */ /* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */ /* 小屏幕(平板,大于等于 768px) */ @media (min-width: @screen-sm-min) { ... } /* 中等屏幕(桌面显示器,大于等于 992px) */ @media (min-width: @screen-md-min) { ... } /* 大屏幕(大桌面显示器,大于等于 1200px) */ @media (min-width: @screen-lg-min) { ... }
我们偶尔也会在媒体查询代码中包含 max-width 从而将 CSS 的影响限制在更小范围的屏幕大小之内。
@media (max-width: @screen-xs-max) { ... } @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... } @media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... } @media (min-width: @screen-lg-min) { ... }
- 栅格参数
image.png
lg
lgmd
mdsm
image.pngxs(自动)
image.png
- 从堆叠到水平排列
比如
.col-md-*
,当宽度>=992px的时候,呈现水平,小于则呈现堆叠<div class="row"> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> <div class="col-md-1">.col-md-1</div> </div> <div class="row"> <div class="col-md-8">.col-md-8</div> <div class="col-md-4">.col-md-4</div> </div> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> <div class="col-md-4">.col-md-4</div> </div> <div class="row"> <div class="col-md-6">.col-md-6</div> <div class="col-md-6">.col-md-6</div> </div>
- 在小屏幕上不呈现堆叠
<div class="container"> <div class="row"> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> <div class="col-md-1 col-sm-4 col-xs-2">.col-md-1</div> </div> </div>
- 流式布局容器
将最外面的布局元素 .container 修改为 .container-fluid,就可以将固定宽度的栅格布局转换为 100% 宽度的布局。
<div class="container-fluid"> <div class="row"> ... </div> </div>
- 多余的列(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 > 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>
- 列偏移
使用 .col-md-offset-* 类可以将列
向右
侧偏移。这些类实际是通过使用 * 选择器为当前元素增加了左侧的边距(margin
)。例如,.col-md-offset-4 类将 .col-md-4 元素向右
侧偏移了4个列(column)的宽度。<div class="row"> <div class="col-sm-5 col-md-6">.col-sm-5 .col-md-6</div> <div class="col-sm-5 col-sm-offset-2 col-md-6 col-md-offset-0">.col-sm-5 .col-sm-offset-2 .col-md-6 .col-md-offset-0</div> </div> <div class="row"> <div class="col-sm-6 col-md-5 col-lg-6">.col-sm-6 .col-md-5 .col-lg-6</div> <div class="col-sm-6 col-md-5 col-md-offset-2 col-lg-6 col-lg-offset-0">.col-sm-6 .col-md-5 .col-md-offset-2 .col-lg-6 .col-lg-offset-0</div> </div>
col-sm-offset-2
:在col-sm
生效的情况下向右偏移2列
注:offset如果向右偏移超过12,那么就会另起一行,而且偏移也会从下一行重新算起,如image.png<div class="row"> <div class="col-xs-7" style="background-color: red">col-xs-7</div> <div class="col-xs-4 col-xs-offset-2" style="background-color: yellow">col-xs-4 col-xs-offset-2</div> </div>
- 嵌套列
为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的 .row 元素和一系列 .col-sm-* 元素到已经存在的 .col-sm-* 元素内。被嵌套的行(row)所包含的列(column)的个数不能超过12(其实,没有要求你必须占满12列)。
<div class="row"> <div class="col-sm-9" style="background-color: red"> Level 1: .col-sm-9 <div class="row"> <div class="col-xs-8 col-sm-6" style="background-color: blue"> Level 2: .col-xs-8 .col-sm-6 </div> <div class="col-xs-4 col-sm-6" style="background-color: yellow"> Level 2: .col-xs-4 .col-sm-6 </div> </div> </div> </div>
- 列排序
通过使用
.col-md-push-*
和.col-md-pull-*
类就可以很容易的改变列(column)的顺序。
注:这个操作可以使栅格重叠
col-md-push-4
是从左到右第4列开始
col-md-pull-5
是从右到左第5列开始image.png<div class="row"> <div class="col-md-9 col-md-push-4">col-md-9 col-md-push-4</div> <div class="col-md-3 col-md-pull-5">col-md-3 col-md-pull-5</div> </div>
网友评论