移动设备优先
- Bootstrap 3将对移动设备的友好支持直接融合进了框架的内核中,Bootstrap是移动设备优先的。
- 为了确保适当的绘制和触屏缩放,需要在head中添加viewport元数据标签。设置 meta 属性为
user-scalable=no
可以禁用视口缩放。 - <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
布局容器
- Bootstrap 需要为页面内容和栅格系统包裹一个
.container
容器。.container
类用于固定宽度;.container-fluid
类(流式布局容器)用于 100% 宽度。两个类不能互相嵌套。
栅格系统
- 随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列,用于通过一系列的行(row)与列(column)的组合来创建页面布局,网页中的内容就可以放在创建好的栅格系统中。
- “行(row)”必须包含在
.container
(固定宽度)或.container-fluid
(100% 宽度)中。
<div class="container"> <div class="row"> <div class="col-lg-1 col-md-3 con ">col-lg-1 </div> <div class="col-lg-1 col-md-3 con">col-lg-1 </div> </div> </div>
- 内容应当放置于“列(column)”内,并且,只有“列(column)”可以作为行(row)”的直接子元素。通过为“列(column)”设置
padding
属性,从而创建列与列之间的间隔(gutter)。 - 如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column)”所在的元素将被作为一个整体另起一行排列。
媒体查询
/* 超小屏幕(手机,小于 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) { ... }
水平排列
<div class="row"> <div class="col-md-1 con">.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从而设置css属性,如.con
-
col-md-1中的屏幕的列,1/12列。将屏幕分为12列
- 如果不希望所有列在小屏幕上都堆叠在一起,可以使用针对嘲笑屏幕和中等屏幕定义的类
.col-xs-*
和.col-md-*
- 为了使用内置的栅格系统将内容再次嵌套,可以通过添加一个新的
.row
元素和一系列.col-sm-*
元素到已经存在的.col-sm-*
元素内。
Less mixin 和变量
- 通过变量来定义列数、槽(gutter)宽、媒体查询阈值(用于确定合适让列浮动)。我们使用这些变量生成预定义的栅格类,如上所示,还有如下所示的定制 mixin。
@grid-columns: 12; @grid-gutter-width: 30px; @grid-float-breakpoint: 768px;
-
mixin
mixin 用来和栅格变量一同使用,为每个列(column)生成语义化的 CSS 代码。