第五章之BootStrap 柵格系統(tǒng)
Bootstrap,來自 Twitter,是目前最受歡迎的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發(fā)更加快捷。
學(xué)習(xí)要點(diǎn):
1.移動(dòng)設(shè)備優(yōu)先
2.布局容器
3.柵格系統(tǒng)
本節(jié)課我們主要學(xué)習(xí)一下 Bootstrap 的柵格系統(tǒng),提供了一套響應(yīng)式、移動(dòng)設(shè)備優(yōu)先的流式柵格系統(tǒng)。
一.移動(dòng)設(shè)備優(yōu)先
在 HTML5 的項(xiàng)目中,我們做了移動(dòng)端的項(xiàng)目。它有一份非常重要的 meta,用于設(shè)置屏幕和設(shè)備等寬以及是否運(yùn)行用戶縮放,及縮放比例的問題。
//分別為:屏幕寬度和設(shè)備一致、初始縮放比例、最大縮放比例和禁止用戶縮放 <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
二.布局容器
Bootstrap 需要為頁面內(nèi)容和柵格系統(tǒng)包裹一個(gè).container 容器。由于 padding 等屬性的原因,這兩種容器類不能相互嵌套。
//固定寬度 <div class="container"> ... </div> //100%寬度 <div class="container-fluid"> ... </div>
柵格系統(tǒng)中, 瀏覽器會(huì)隨著屏幕的大小的增減自動(dòng)分配最多12列。 通過一系列的行(row)與列(column)的組合來創(chuàng)建頁面布局。工作原理如下:
1.“行 (row) ” 必須包含在 .container (固定寬度) 或 .container-fluid (100%寬度)中,以便為其賦予合適的排列(aligment)和內(nèi)補(bǔ)(padding)。
2.通過“行(row)”在水平方向創(chuàng)建一組“列(column)”。
3.你的內(nèi)容應(yīng)當(dāng)放置于“列(column)”內(nèi),并且,只有“列(column)”可以作為行(row)”的直接子元素。
4.類似 .row 和 .col-xs-4 這種預(yù)定義的類,可以用來快速創(chuàng)建柵格布局。
Bootstrap 源碼中定義的 mixin 也可以用來創(chuàng)建語義化的布局。
5.通過為 “列 (column) ” 設(shè)置 padding 屬性, 從而創(chuàng)建列與列之間的間隔 (gutter) 。通過為 .row 元素設(shè)置負(fù)值
margin 從而抵消掉為 .container 元素設(shè)置的 padding,也就間接為“行(row)”所包含的“列(column)”抵消掉了 padding。
6.負(fù)值的 margin 就是下面的示例為什么是向外突出的原因。在柵格列中的內(nèi)容排成一行。
7.柵格系統(tǒng)中的列是通過指定 1 到 12 的值來表示其跨越的范圍。例如,三個(gè)等寬的列可以使用三個(gè) .col-xs-4 來創(chuàng)建。
8.如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column) ”所在的元素將被作為一個(gè)整體另起一行排列。
9.柵格類適用于與屏幕寬度大于或等于分界點(diǎn)大小的設(shè)備 , 并且針對小屏幕設(shè)備覆蓋柵格類。 因此,在元素上應(yīng)用任何 .col-md-* 柵格類適用于與屏幕寬度大于或等于分界點(diǎn)大小的設(shè)備 ,并且針對小屏幕設(shè)備覆蓋柵格類。因此, 在元素上應(yīng)用任何 .col-lg-*不存在, 也影響大屏幕設(shè)備。
//創(chuàng)建一個(gè)響應(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>
//為了顯示明顯的 CSS
.a {
height: 100px;
background-color: #eee;
border: 1px solid #ccc;
}
//總列數(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-8 a">1-8</div>
<div class="col-md-4 a">9-12</div>
</div>
</div>
柵格參數(shù)表
如上圖所示,柵格系統(tǒng)最外層區(qū)分了四種寬度的瀏覽器:超小屏(<768px)、小屏(>=768px)、中屏(>=992px)和大屏(>=1200px)。而內(nèi)層.container 容器的自適應(yīng)寬度為:自動(dòng)、750px、970px 和 1170px。自動(dòng)的意思為,如果你是手機(jī)屏幕,則全面獨(dú)占一行顯示。
//四種屏幕分類全部激活 <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> //有時(shí)我們可以設(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> //也可以嵌套,嵌滿也是 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> //可以把兩個(gè)列交換位置,push 向左移動(dòng),pull 向右移動(dòng) <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 柵格系統(tǒng) 的相關(guān)資料,希望對大家有所幫助!
- Bootstrap每天必學(xué)之柵格系統(tǒng)(布局)
- Bootstrap布局之柵格系統(tǒng)詳解
- Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)
- 學(xué)習(xí)使用bootstrap3柵格系統(tǒng)
- BootStrap框架個(gè)人總結(jié)(bootstrap框架、導(dǎo)航條、下拉菜單、輪播廣告carousel、柵格系統(tǒng)布局、標(biāo)簽頁tabs、模態(tài)框、菜單定位)
- Bootstrap入門書籍之(三)柵格系統(tǒng)
- Bootstrap柵格系統(tǒng)使用方法及頁面調(diào)整變形的解決方法
- Bootstrap整體框架之CSS12柵格系統(tǒng)
- 淺析BootStrap柵格系統(tǒng)
- bootstrap柵格系統(tǒng)示例代碼分享
相關(guān)文章
JavaScript綁定事件監(jiān)聽函數(shù)的通用方法
這篇文章主要為大家詳細(xì)介紹了JavaScript綁定事件監(jiān)聽函數(shù)的通用方法,感興趣的朋友可以參考一下2016-05-05
《JavaScript DOM 編程藝術(shù)》讀書筆記之DOM基礎(chǔ)
這篇文章主要介紹了《JavaScript DOM 編程藝術(shù)》讀書筆記之DOM基礎(chǔ),需要的朋友可以參考下2015-01-01
JavaScript 九種跨域方式實(shí)現(xiàn)原理
這篇文章主要介紹了JavaScript 九種跨域方式實(shí)現(xiàn)原理,什么是跨域,以及有哪幾種跨域方式,這是本文要探討的內(nèi)容。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-02-02
基于Day.js更優(yōu)雅的處理JavaScript中的日期
Day.js它能夠幫助我們處理JavaScript中的日期,本文就詳細(xì)的介紹一下Day.js的具體使用,可以更簡單的處理JavaScript中的日期和時(shí)間2021-09-09
js內(nèi)置對象處理_打印學(xué)生成績單的簡單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄猨s內(nèi)置對象處理_打印學(xué)生成績單的簡單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-09-09
JavaScript利用split函數(shù)按規(guī)定截取字符串(獲取郵箱用戶名)
這個(gè)其實(shí)就是利用了js的split函數(shù),以@分割數(shù)組,一般用這個(gè)的地方不多,但這個(gè)思路應(yīng)用的比較廣泛。推薦大家學(xué)習(xí)。2009-12-12
js 實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)示例解析
這篇文章主要為大家介紹了js實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07

