6.3.6 Bootstrap网格系统的变量和mixin
6.3.6 Bootstrap网格系统的变量和mixin
Bootstrap使用Less作为CSS的预编译语言,它为网格系统定义了如下变量:
Bootstrap的提供的网格系统变量
1 | @grid-columns: 12; |
3个变量的定义非常清楚,其中,
@grid-columns指定了网格的最大列数为12,因此如果我们想定制Bootstrap的网格系统,改变它的最大列数,只要修改该变量即可。@grid-gutter-width指定了默认的列间距为30px(左右各15px),@grid-float-breakpoint指定了媒体查询的阈值为768px。这些变量都是可以改变的。
Bootstrap定义的mixin
此外Bootstrap还定义了如下mixin。
.make-row(@gutter:@grid-gutter-width):用于生成行(.row)的mixin,该mixin支持@gutter参数,该参数有默认值。.make-xs-column(@columns;@gutter:@grid-gutter-width):用于生成在xs尺寸的viewport上的单元格(.col-xs-N)的mixin,该mixin支持@columns参数和@gutter参数,其中@gutter参数有默认值。.make-xx-column(@columns;@gutter:@grid-gutter-width):用于生成在xx尺寸的viewport上的单元格(.col-xx-N)的mixin,该mixin支持@columns参数和@gutter参数,其中@gutter参数有默认值。其中xx可表示sm、md、lg这3种viewport尺寸。.make-xx-column-offset(@columns):用于生成在xx尺寸的viewport上的单元格偏移(.col-xx-offset-N)的mixin,该mixin支持@columns参数和@gutter参数,其中@gutter参数有默认值。其中xx可表示sm、md、lg这3种viewport尺寸。.make-xx-column-push(@columns):用于生成在xx尺寸的viewport上的单元格排序(.col-xx-push-N)的mixin,该mixin支持@columns参数和@gutter参数,其中@gutter参数有默认值。其中xx可表示sm、md、lg这3种viewport尺寸。.make-xx-column-pull(@columns):用于生成在xx尺寸的viewport上的单元格(.col-xx-pull-N)的mixin,该mixin支持@columns参数和@gutter参数,其中@gutter参数有默认值。其中xx可表示sm、md、lg这3种viewport尺寸。
因此开发者完全可以在自己的页面中使用这些mixin,例如如下代码:
1 | @import "../bootstrap/less/bootstrap.less"; |
上面在Less代码中先导入了bootstrap.less源代码,然后使用.make-row、.make-sm-column、.make-sm-column定义了样式。
接下来我们打算在HTML 页面中以即时编译的方式来使用这些Less 源文件。该HTML页面代码如下:
1 |
|
该页面的关键点是如下的的3行代码:
1 | <!-- 引入bootstrap的less源码 --> |
其中:
- 第一行代码先导入
Bootstrap的Less源文件:bootstrap.less; - 第二行导入了我们自己编写的
Less源代码; - 第三行导入了用于即时编译
Less源代码的JS代码库。
由于存在跨域访问的问题,因此需要将上面页面部署在Web服务器(如Tomcat)之后再访问。