DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 第五章之BootStrap 柵格系統
第五章之BootStrap 柵格系統
編輯:關於JavaScript     

Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更加快捷。

學習要點:

1.移動設備優先
2.布局容器
3.柵格系統

本節課我們主要學習一下 Bootstrap 的柵格系統,提供了一套響應式、移動設備優先的流式柵格系統。

一.移動設備優先

在 HTML5 的項目中,我們做了移動端的項目。它有一份非常重要的 meta,用於設置屏幕和設備等寬以及是否運行用戶縮放,及縮放比例的問題。

//分別為:屏幕寬度和設備一致、初始縮放比例、最大縮放比例和禁止用戶縮放
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no"> 

二.布局容器

Bootstrap 需要為頁面內容和柵格系統包裹一個.container 容器。由於 padding 等屬性的原因,這兩種容器類不能相互嵌套。

//固定寬度
<div class="container">
...
</div> 
//100%寬度
<div class="container-fluid">
...
</div>

柵格系統中, 浏覽器會隨著屏幕的大小的增減自動分配最多12列。 通過一系列的行(row)與列(column)的組合來創建頁面布局。工作原理如下:

1.“行 (row) ” 必須包含在 .container (固定寬度) 或 .container-fluid (100%寬度)中,以便為其賦予合適的排列(aligment)和內補(padding)。

2.通過“行(row)”在水平方向創建一組“列(column)”。

3.你的內容應當放置於“列(column)”內,並且,只有“列(column)”可以作為行(row)”的直接子元素。

4.類似 .row 和 .col-xs-4 這種預定義的類,可以用來快速創建柵格布局。
Bootstrap 源碼中定義的 mixin 也可以用來創建語義化的布局。

5.通過為 “列 (column) ” 設置 padding 屬性, 從而創建列與列之間的間隔 (gutter) 。通過為 .row 元素設置負值

margin 從而抵消掉為 .container 元素設置的 padding,也就間接為“行(row)”所包含的“列(column)”抵消掉了 padding。

6.負值的 margin 就是下面的示例為什麼是向外突出的原因。在柵格列中的內容排成一行。

7.柵格系統中的列是通過指定 1 到 12 的值來表示其跨越的范圍。例如,三個等寬的列可以使用三個 .col-xs-4 來創建。

8.如果一“行(row)”中包含了的“列(column)”大於 12,多余的“列(column) ”所在的元素將被作為一個整體另起一行排列。

9.柵格類適用於與屏幕寬度大於或等於分界點大小的設備 , 並且針對小屏幕設備覆蓋柵格類。 因此,在元素上應用任何 .col-md-* 柵格類適用於與屏幕寬度大於或等於分界點大小的設備 ,並且針對小屏幕設備覆蓋柵格類。因此, 在元素上應用任何 .col-lg-*不存在, 也影響大屏幕設備。

//創建一個響應式行
<div class="container">
<div class="row">
...
</div>
</div> 
//創建最多 12 列的響應式行
<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> 
//為了顯示明顯的 CSS
.a {
height: 100px;
background-color: #eee;
border: 1px solid #ccc;
} 
//總列數都是 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-8 a">1-8</div>
<div class="col-md-4 a">9-12</div>
</div>
</div> 

柵格參數表

如上圖所示,柵格系統最外層區分了四種寬度的浏覽器:超小屏(<768px)、小屏(>=768px)、中屏(>=992px)和大屏(>=1200px)。而內層.container 容器的自適應寬度為:自動、750px、970px 和 1170px。自動的意思為,如果你是手機屏幕,則全面獨占一行顯示。

//四種屏幕分類全部激活
<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> 
//有時我們可以設置列偏移,讓中間保持空隙
<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> 
//也可以嵌套,嵌滿也是 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> 
//可以把兩個列交換位置,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 柵格系統 的相關資料,希望對大家有所幫助!

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved