Bootstrap栅格系统

半腔热情 提交于 2019-12-04 07:13:04

移动设备优先

  • 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 代码。

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!