Bootstrap柵格系統(tǒng)的使用和理解2
柵格系統(tǒng)
Bootstrap 提供了一套響應(yīng)式、移動(dòng)設(shè)備優(yōu)先的流式柵格系統(tǒng),隨著屏幕或視口(viewport)尺寸的增加,系統(tǒng)會(huì)自動(dòng)分為最多12列。它包含了易于使用的預(yù)定義類,還有強(qiáng)大的mixin 用于生成更具語義的布局。
簡(jiǎn)介
柵格系統(tǒng)用于通過一系列的行(row)與列(column)的組合來創(chuàng)建頁(yè)面布局,你的內(nèi)容就可以放入這些創(chuàng)建好的布局中。下面就介紹一下 Bootstrap 柵格系統(tǒng)的工作原理:
“行(row)”必須包含在 .container (固定寬度)或 .container-fluid (100% 寬度)中,以便為其賦予合適的排列(aligment)和內(nèi)補(bǔ)(padding)。
通過“行(row)”在水平方向創(chuàng)建一組“列(column)”。
你的內(nèi)容應(yīng)當(dāng)放置于“列(column)”內(nèi),并且,只有“列(column)”可以作為行(row)”的直接子元素。
類似 .row 和 .col-xs-4 這種預(yù)定義的類,可以用來快速創(chuàng)建柵格布局。Bootstrap 源碼中定義的 mixin 也可以用來創(chuàng)建語義化的布局。
通過為“列(column)”設(shè)置 padding 屬性,從而創(chuàng)建列與列之間的間隔(gutter)。通過為 .row 元素設(shè)置負(fù)值 margin 從而抵消掉為 .container 元素設(shè)置的 padding,也就間接為“行(row)”所包含的“列(column)”抵消掉了padding。
負(fù)值的 margin就是下面的示例為什么是向外突出的原因。在柵格列中的內(nèi)容排成一行。
柵格系統(tǒng)中的列是通過指定1到12的值來表示其跨越的范圍。例如,三個(gè)等寬的列可以使用三個(gè) .col-xs-4 來創(chuàng)建。
如果一“行(row)”中包含了的“列(column)”大于 12,多余的“列(column)”所在的元素將被作為一個(gè)整體另起一行排列。
柵格類適用于與屏幕寬度大于或等于分界點(diǎn)大小的設(shè)備 , 并且針對(duì)小屏幕設(shè)備覆蓋柵格類。 因此,在元素上應(yīng)用任何 .col-md-* 柵格類適用于與屏幕寬度大于或等于分界點(diǎn)大小的設(shè)備 , 并且針對(duì)小屏幕設(shè)備覆蓋柵格類。 因此,在元素上應(yīng)用任何 .col-lg-* 不存在, 也影響大屏幕設(shè)備。
柵格參數(shù)
通過下表可以詳細(xì)查看 Bootstrap 的柵格系統(tǒng)是如何在多種屏幕設(shè)備上工作的。
我的理解是當(dāng)?shù)竭_(dá)不同的屏幕寬度,特定的類起作用。
但如果屏幕寬1366px,并沒用.col-lg- 的類標(biāo)識(shí)。會(huì)以.col-md-設(shè)定柵格內(nèi)容寬度。如果.col-md-也沒有,會(huì)以.col-sm- 設(shè)定。大概如此。
當(dāng).col-xx-xx不在自己的作用范圍內(nèi)時(shí),便失效。如果是div元素就會(huì)占一整行,寬與.container 元素相同。(錯(cuò)誤請(qǐng)指出)。
demo1:
注意:引 必要的.css .js 文件
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap 模板</title> <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <style> .row>div{ border: 1px solid #333; background-color: #e0e0e0; } </style> </head> <body> <!-- bootstrap 柵格系統(tǒng) 試用 --> <!-- Bootstrap 提供了一套響應(yīng)式、移動(dòng)設(shè)備優(yōu)先的流式柵格系統(tǒng),隨著屏幕或視口(viewport)尺寸的增加,系統(tǒng)會(huì)自動(dòng)分為最多12列。它包含了易于使用的預(yù)定義類,還有強(qiáng)大的mixin 用于生成更具語義的布局。 --> <strong>改變?yōu)g覽器寬度查看效果</strong> <div class="container"> <div class="row"> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> <div class="col-lg-1 col-md-2 col-sm-4 col-xs-6"></div> </div> </div> <strong>一行顯示不下就會(huì)擠到下一行</strong> <script src="lib/jquery/jquery.js"></script> <script src="lib/bootstrap/js/bootstrap.js"></script> <script> $(function(){ var content = null; showText(); function showText(){ var width = $(window).width(); if(width<768){ content = "超小屏幕設(shè)備(手機(jī))(寬度小于768px)的時(shí)候<br>因?yàn)樵O(shè)置了類名 有 col-xs-6<br>所以一行顯示2個(gè)"; }else if(width<992){ content = "小屏幕設(shè)備(平板)(寬度大于768px 小于992px)的時(shí)候<br> 因?yàn)樵O(shè)置了類名 有 col-sm-4<br> 所以一行顯示3個(gè)"; }else if(width<1200){ content = "中等屏幕設(shè)備(桌面顯示器)(寬度大于992px 小于1200px)的時(shí)候 <br>因?yàn)樵O(shè)置了類名 有 col-md-2<br> 所以一行顯示6個(gè)"; }else{ content = "大屏幕設(shè)備(大桌面顯示器)(寬度大于1200)的時(shí)候<br> 因?yàn)樵O(shè)置了類名 有 col-lg-1 <br>所以一行顯示12個(gè)"; } $(".container>div>div").html(content); } $(window).on('resize', function(event) { showText(); }); }); </script> </body> </html>
流式布局容器
將最外面的布局元素 .container 修改為 .container-fluid,就可以將固定寬度的柵格布局轉(zhuǎn)換為 100% 寬度的布局。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=0"> <title>container & container-fluid</title> <link href="../lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="../lib/html5shiv/html5shiv.min.js"></script> <script src="../lib/respond/respond.js"></script> <![endif]--> <!--自己的css文件--> <style> .container{ background: yellowgreen; height: 400px; } .container-fluid{ background: red; height: 100px; } </style> </head> <body> <!--布局容器 沒有高度 響應(yīng)式容器--> <div class="container"> </div> <!-- 將最外面的布局元素 .container 修改為 .container-fluid,就可以將固定寬度的柵格布局轉(zhuǎn)換為 100% 寬度的布局。 --> <div class="container-fluid"> </div> <!--因?yàn)?bootstrap 是依賴 jquery 引用jquery文件--> <script src="../lib/jquery/jquery.js"></script> <script src="../lib/bootstrap/js/bootstrap.js"></script> </body> </html>
列偏移
使用 .col-md-offset-* 類可以將列向右側(cè)偏移。這些類實(shí)際是通過使用 * 選擇器為當(dāng)前元素增加了左側(cè)的邊距(margin)。例如,.col-md-offset-4 類將 .col-md-4 元素向右側(cè)偏移了4個(gè)列(column)的寬度。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap 模板</title> <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <style> .row>div{ border: 1px solid #333; background-color: #e0e0e0; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-md-4">.col-md-4</div> <div class="col-md-4 col-md-offset-4">.col-md-4 .col-md-offset-4</div> </div> <div class="row"> <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div> <div class="col-md-3 col-md-offset-3">.col-md-3 .col-md-offset-3</div> </div> <div class="row"> <div class="col-md-6 col-md-offset-3">.col-md-6 .col-md-offset-3</div> </div> </div> <script src="lib/jquery/jquery.js"></script> <script src="lib/bootstrap/js/bootstrap.js"></script> </body> </html>
列排序
通過使用 .col-md-push-* 和 .col-md-pull-* 類就可以很容易的改變列(column)的順序。
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Bootstrap 模板</title> <link href="lib/bootstrap/css/bootstrap.css" rel="stylesheet"> <!--[if lt IE 9]> <script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <style> .row>div{ border: 1px solid #333; background-color: #e0e0e0; } </style> </head> <body> <div class="container"> <div class="row"> <div class="col-md-9 col-md-push-3">.col-md-9 .col-md-push-3</div> <div class="col-md-3 col-md-pull-9">.col-md-3 .col-md-pull-9</div> </div> </div> <script src="lib/jquery/jquery.js"></script> <script src="lib/bootstrap/js/bootstrap.js"></script> </body> </html>
以上為初學(xué)時(shí),學(xué)習(xí)到的。有錯(cuò)誤請(qǐng)指出。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Bootstrap每天必學(xué)之柵格系統(tǒng)(布局)
- Bootstrap布局之柵格系統(tǒng)詳解
- Bootstrap自動(dòng)適應(yīng)PC、平板、手機(jī)的Bootstrap柵格系統(tǒng)
- 學(xué)習(xí)使用bootstrap3柵格系統(tǒng)
- Bootstrap整體框架之CSS12柵格系統(tǒng)
- 淺析BootStrap柵格系統(tǒng)
- BootStrap柵格系統(tǒng)、表單樣式與按鈕樣式源碼解析
- Bootstrap布局之柵格系統(tǒng)學(xué)習(xí)筆記
- Bootstrap柵格系統(tǒng)學(xué)習(xí)筆記
- 學(xué)習(xí)使用Bootstrap柵格系統(tǒng)
相關(guān)文章
Javascript頁(yè)面添加到收藏夾的簡(jiǎn)單方法
這篇文章介紹了Javascript頁(yè)面添加到收藏夾的簡(jiǎn)單方法,有需要的朋友可以參考一下2013-08-08JavaScript this調(diào)用規(guī)則說明
我希望通過這些來使你們理解各種函數(shù)調(diào)用方式的不同,讓你的JavaScript代碼遠(yuǎn)離bugs。2010-03-03elementui更改el-dialog關(guān)閉按鈕的圖標(biāo)d的示例代碼
這篇文章主要介紹了elementui更改el-dialog關(guān)閉按鈕的圖標(biāo),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08JavaScript常用截取字符串的三種方式用法區(qū)別實(shí)例解析
本文給大家分享JavaScript常用截取字符串的三種方式及每種用法的區(qū)別解析,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05JS區(qū)分Object與Aarry的六種方法總結(jié)
下面小編就為大家?guī)硪黄狫S區(qū)分Object與Aarry的六種方法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02JavaScript常用工具函數(shù)匯總(瀏覽器環(huán)境)
這篇文章主要匯總了JavaScript常用的工具函數(shù),幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下2020-09-09如何從零開始利用js手寫一個(gè)Promise庫(kù)詳解
ES2015 推出了JS 的 Promise ,而在沒有原生支持的時(shí)候,我們也可以使用諸如 Promises/A+ 的庫(kù)的幫助,在我們的代碼里實(shí)現(xiàn)Promise 的支持,下面這篇文章主要給大家介紹了如何從零開始利用js手寫一個(gè)Promise庫(kù)的相關(guān)資料,需要的朋友可以參考下。2018-04-04JS實(shí)現(xiàn)返回上一頁(yè)并刷新頁(yè)面的方法分析
這篇文章主要介紹了JS實(shí)現(xiàn)返回上一頁(yè)并刷新頁(yè)面的方法,結(jié)合實(shí)例形式分析了javascript針對(duì)移動(dòng)端、PC端瀏覽器的頁(yè)面緩存刷新相關(guān)操作技巧,需要的朋友可以參考下2019-07-07javascript實(shí)現(xiàn)一個(gè)數(shù)值加法函數(shù)
這篇文章主要介紹了javascript實(shí)現(xiàn)一個(gè)數(shù)值加法函數(shù),十分的簡(jiǎn)單實(shí)用,方便大家理解javascript,有需要的小伙伴可以參考下。2015-06-06