
Bootstrap的柵格系統(tǒng),提供了一套響應(yīng)式、移動設(shè)備優(yōu)先的速式柵格系統(tǒng):
一、 移動設(shè)備優(yōu)先
在HTML5的項目中,我們做了移動端的項目,它有一份非常重要的meta,用于設(shè)置屏幕和設(shè)備等寬以及是否運行用戶縮放,及縮放比例的問題。
//分別為:屏幕寬度和設(shè)備一致、初始縮放比例、最大縮放比例和禁止用戶縮放
<meta name="viewport" content="width=device-width",initial-scale=1,
maximum-scale=1,user-scalable=no”>
二、 布局容器
Bootstrap需要為頁面內(nèi)容和柵格系統(tǒng)包裹一個container容器,由于padding等屬性的原因,這兩種容器類不能相互嵌套。
//固定寬度
<div class=”container”>
….
</div>
例子


//100%寬度
<div class=”container-fluid”>
….
</div>
例子


柵格系統(tǒng)中,瀏覽器會隨著屏幕的大小的增減自動分配最多12列,通過一系列的行和列的組合來創(chuàng)建頁面布局。工作原理如下:
1.“行”必須包含在.container(固定寬度)或.container-fluid(100%寬度)中,以便為其賦予合適的排列和內(nèi)外
2.通過“行”在水平方向創(chuàng)建一組“列”。
3.你的內(nèi)容應(yīng)當(dāng)放置于“列”內(nèi),并且,只有“列”可以作為“行”的直接子元素
4.類似.row和.col-xs-4這種預(yù)定義的類,可以用來快速創(chuàng)建柵格布局。Bootstrap源碼中定義的mixin也可以用來創(chuàng)建語義化的布局。
5.通過為“列”設(shè)置padding屬性,從而創(chuàng)建列與列之間的間隔,通過為.row元素設(shè)置負(fù)值margin,從而抵消掉為.container元素設(shè)置的padding,也就間接為“行”所包含的“列”抵消掉了padding。
6.負(fù)值的margin就是下面的示例為什么是向外突出的原因。在柵格列中的內(nèi)容排成一行。
7.柵格系統(tǒng)中的列是通過指定1到12的值來表示其跨越的范圍。例如,三個等寬的列可以使用三個.col-xs-4來創(chuàng)建。
8.如果一“行”中包含了的“列”大于12,多余的“列”所在的元素將被作為一個整體另起一行排列。
9.柵格類適用于與屏幕寬度大于或等于分界點大小的設(shè)備,并且針對小屏幕設(shè)備覆蓋柵格類。因此,在元素上應(yīng)用任何.col-md- 柵格類適用于與屏幕寬度大于或等于分界點大小的設(shè)備,并且針對小屏幕設(shè)備覆蓋柵格類,因此,在元素上應(yīng)用任何.col-lg-*不存在,也影響大屏幕設(shè)備。
//為了顯示明顯的css
.a{
Height:100px;
Background-color:#eee;
Border:1px solid #ccc;
}
//創(chuàng)建一個響應(yīng)式行
<div class=”container”>
<div class=”row”>
….
</div>
</div>
//創(chuàng)建最多12列的響應(yīng)式行
<div class=”container”>
<div class=”row”>
<div class=”col-md-1 a”>1</div>
<div class=” col-md-1 a”>2</div>
<div class=” col-md-1 a”>3</div>
<div class=” col-md-1 a”>4</div>
<div class=” col-md-1 a”>5</div>
<div class=” col-md-1 a”>6</div>
<div class=” col-md-1 a”>7</div>
<div class=” col-md-1 a”>8</div>
<div class=” col-md-1 a”>9</div>
<div class=” col-md-1 a”>10</div>
<div class=” col-md-1 a”>11</div>
<div class=” col-md-1 a”>12</div>
</div>
</div>
例子

引入bootstrap樣式前

引入bootstrap樣式后

//總列數(shù)都是12,每列分配多列
<div class=”container”>
<div class=”row”>
<div class=”col-md-4 a”>1-4</div>
<div class=”col-md-4 a”>5-8</div>
<div class=”col-md-4 a”>9-12</div>
</div>
<div class=”row”>
<div class=”col-md-4 a”>1-8</div>
<div class=”col-md-4 a”>9-12</div>
</div>
</div>
例子

引入bootstrap樣式前

<p>引入bootstrap樣式后</p>

柵格系統(tǒng)最外層區(qū)分了四種寬度的瀏覽器:超小屏(<768px)、小屏(>=768px)和中屏(>=992px)和大屏(>=1200px)。而內(nèi)層.container容器的自適應(yīng)寬度為:自動、750px、970px和1170px。自動的意思為,如果你是手機(jī)屏幕,則全面獨占一行顯示。
//四種屏幕分類全部激活
<div class=”container”>
<div class=”row”>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
<div class=”col-lg-3 col-md-4 col-sm-6 col-xs-12 a”>4</div>
</div>
</div>
例子

(col-lg-3)

(col-md-4)

(col-sm-6)

(col-xs-12)

//有時我們可以設(shè)置列偏移,讓中間保持空隙
<div class=”container”>
<div class=”row”>
<div class=”col-md-8 a”>8</div>
<div class=”col-md-3 col-md-offset-1 a”>3</div>
</div>
</div>
例子

引入bootstrap樣式前

引入bootstrap樣式后

//也可以嵌套,嵌滿也是12列
<div class=”container”>
<div class=”row”>
<div class=”col-md-9 a”>
<div class=”col-md-8 a”>1-8</div>
<div class=”col-md-4 a”>9-12</div>
</div>
<div class=”col-md-3 a”>11-12</div>
</div>
</div>
例子

引入bootstrap樣式前

引入bootstrap樣式后

//可以把兩個列交換位置,push向左移動,pull向右移動
<div class=”container”>
<div class=”row”>
<div class=”col-md-9 col-md-push-3 a”>9</div>
<div class=”col-md-3 col-md-pull-9 a”>3</div>
</div>
</div>
例子

引入bootstrap樣式前

引入bootstrap樣式后

本文作者lilyping
越努力,越幸運
原文鏈接:http://www.itdecent.cn/u/3908e601f4ec
微信公眾號:BestLilyPing
github:https://github.com/lilyping
Demos源碼地址:https://github.com/lilyping