最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Bootstrap每天必學(xué)之柵格系統(tǒng)(布局)

 更新時(shí)間:2015年11月25日 08:52:50   作者:小平果118  
Bootstrap每天必學(xué)之柵格系統(tǒng),小編對(duì)Bootstrap柵格系統(tǒng)(布局)也很陌生,特分享整理這篇文章,感興趣的小伙伴們可以參考一下

 1、柵格系統(tǒng)(布局)
Bootstrap內(nèi)置了一套響應(yīng)式、移動(dòng)設(shè)備優(yōu)先的流式柵格系統(tǒng),隨著屏幕設(shè)備或視口(viewport)尺寸的增加,系統(tǒng)會(huì)自動(dòng)分為最多12列。

我在這里是把Bootstrap中的柵格系統(tǒng)叫做布局。它就是通過一系列的行(row)與列(column)的組合創(chuàng)建頁面布局,然后你的內(nèi)容就可以放入到你創(chuàng)建好的布局當(dāng)中。下面就簡單介紹一下Bootstrap柵格系統(tǒng)的工作原理:

網(wǎng)格系統(tǒng)的實(shí)現(xiàn)原理非常簡單,僅僅是通過定義容器大小,平分12份(也有平分成24份或32份,但12份是最常見的),再調(diào)整內(nèi)外邊距,最后結(jié)合媒體查詢,就制作出了強(qiáng)大的響應(yīng)式網(wǎng)格系統(tǒng)。Bootstrap框架中的網(wǎng)格系統(tǒng)就是將容器平分成12份。

在使用的時(shí)候大家可以根據(jù)實(shí)際情況重新編譯LESS(或Sass)源碼來修改12這個(gè)數(shù)值(也就是換成24或32,當(dāng)然你也可以分成更多,但不建議這樣使用)。

2、使用規(guī)則
Bootstrap內(nèi)置了一套響應(yīng)式、移動(dòng)設(shè)備。

1、數(shù)據(jù)行(.row)必須包含在容器(.container)中,以便為其賦予合適的對(duì)齊方式和內(nèi)距(padding)。如:

<div class="container">
 <div class="row"></div>
</div>

2、在行(.row)中可以添加列(.column),但列數(shù)之和不能超過平分的總列數(shù),比如12。如:

<div class="container">
<div class="row">
 <div class="col-md-4"></div>
 <div class="col-md-8"></div>

3、具體內(nèi)容應(yīng)當(dāng)放置在列容器(column)之內(nèi),而且只有列(column)才可以作為行容器(.row)的直接子元素

4、通過設(shè)置內(nèi)距(padding)從而創(chuàng)建列與列之間的間距。然后通過為第一列和最后一列設(shè)置負(fù)值的外距(margin)來抵消內(nèi)距(padding)的影響

為了更好的理解Bootstrap框架的網(wǎng)格系統(tǒng)工作原理,我們來看一張草圖:

簡單對(duì)圖解釋一下:

1、最外邊框,帶有一大片白色區(qū)域,就是相當(dāng)于瀏覽器的可視區(qū)域。在Bootstrap框架的網(wǎng)格系統(tǒng)中帶有響應(yīng)式效果,其帶有四種類型的瀏覽器(超小屏,小屏,中屏和大屏),其斷點(diǎn)(像素的分界點(diǎn))是768px、992px和1220px。

2、第二個(gè)邊框(1)相當(dāng)于容器(.container)。針對(duì)不同的瀏覽器分辨率,其寬度也不一樣:自動(dòng)、750px、970px和1170px。在bootstrap.css的第736行~第756行進(jìn)行設(shè)置:

.container {
 padding-right: 15px;
 padding-left: 15px;
 margin-right: auto;
 margin-left: auto;
 @media (min-width: 768px) {
 .container {
 width: 750px;
 }
 @media (min-width: 992px) {
 .container {
 width: 970px;
 }
 @media (min-width: 1200px) {
 .container {
 width: 1170px;
 }

3、2號(hào)橫條闡述的是,將容器的行(.row)平分了12等份,也就是列。每個(gè)列都有一個(gè)“padding-left:15px”(圖中粉紅色部分)和一個(gè)“padding-right:15px”(圖中紫色部分)。這樣也導(dǎo)致了第一個(gè)列的padding-left和最后一列的padding-right占據(jù)了總寬度的30px,從而致使頁面不美觀,當(dāng)然,如果你需要留有一定的間距,這個(gè)做法是不錯(cuò)的。如bootstrap.css中第767行~第772行所示:

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
 position: relative;
 min-height: 1px;
 padding-right: 15px;
 padding-left: 15px;

4、3號(hào)橫條就是行容器(.row),其定義了“margin-left”和”margin-right”值為”-15px”,用來抵消第一個(gè)列的左內(nèi)距和最后一列的右內(nèi)距。在bootstrap.css的第763行~第767行可以看到:

.row {
 margin-right: -15px;
 margin-left: -15px;

5、將行與列給合在一起就能看到橫條4的效果。也就是我們期望看到的效果,第一列和最后一列與容器(.container)之間沒有間距。

橫條5只是想向大家展示,你可以根據(jù)需要,任意組合列與列,只是他們的組合數(shù)之和不要超過總列數(shù)。

3、柵格選項(xiàng)
   通過下面的截圖可以比較清楚的來查看Bootstrap的柵格系統(tǒng)是如何在多種不同的移動(dòng)設(shè)備上面進(jìn)行工作的。

      

從上面的截圖可以看出來,Bootstrap針對(duì)不同尺寸的屏幕(包括手機(jī)、平板、PC等等)設(shè)置了不同的樣式類,這樣讓開發(fā)人員在開發(fā)時(shí)可以有更多的選擇。根據(jù)我的理解:如果在一個(gè)元素上使用多個(gè)不同的上面的樣式類,那么元素會(huì)根據(jù)在不同尺寸選擇最合適(匹配最理想的)的樣式類。簡單的舉例進(jìn)行說明:比如在一個(gè)元素上我們使用了兩個(gè)樣式類:.col-md-和.col-lg??梢詫?duì)照上面的截圖來看

第一種情況:尺寸》=1200px;那么會(huì)選擇.col-lg。

第二種情況:尺寸》=992px 并且尺寸《=1200px;那么會(huì)選擇.col-md。

第三種情況:如果尺寸《992px;那么這兩個(gè)樣式類都將不會(huì)作用于元素上。

4、基本用法
  網(wǎng)格系統(tǒng)用來布局,其實(shí)就是列的組合。Bootstrap框架的網(wǎng)格系統(tǒng)中有四種基本的用法。由于Bootstrap框架在不同屏幕尺寸使用了不同的網(wǎng)格樣式,在這一節(jié)中所涉及到的示例,我們都以中屏(970px)為例進(jìn)行介紹,其他屏幕的使用也類似這一種。

1)、列組合

列組合簡單理解就是更改數(shù)字來合并列(原則:列總和數(shù)不能超12),有點(diǎn)類似于表格的colspan屬性,例如:

<div class="container">
 <div class="row">
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-8">.col-md-8</div>
 </div>
 <div class="row">
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-4">.col-md-4</div>
 </div>
 <div class="row">
 <div class="col-md-3">.col-md-3</div>
 <div class="col-md-6">.col-md-6</div>
 <div class="col-md-3">.col-md-3</div>
 </div>
</div>

使用上面的結(jié)構(gòu),你將看到下圖的效果:


實(shí)現(xiàn)列組合方式非常簡單,只涉及兩個(gè)CSS兩個(gè)特性:浮動(dòng)與寬度百分比。在bootstrap.css文件的第1088行~1126行:

/*確保所有列左浮動(dòng)*/

.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
 float: left;
 }
/*定義每個(gè)列組合的寬度(使用的百分比)*/

 .col-md-12 {
 width: 100%;
 }
 .col-md-11 {
 width: 91.66666667%;
 }
 .col-md-10 {
 width: 83.33333333%;
 }
 .col-md-9 {
 width: 75%;
 }
 .col-md-8 {
 width: 66.66666667%;
 }
 .col-md-7 {
 width: 58.33333333%;
 }
 .col-md-6 {
 width: 50%;
 }
 .col-md-5 {
 width: 41.66666667%;
 }
 .col-md-4 {
 width: 33.33333333%;
 }
 .col-md-3 {
 width: 25%;
 }
 .col-md-2 {
 width: 16.66666667%;
 }
 .col-md-1 {
 width: 8.33333333%;
 }

5、列偏移
有的時(shí)候,我們不希望相鄰的兩個(gè)列緊靠在一起,但又不想使用margin或者其他的技術(shù)手段來。這個(gè)時(shí)候就可以使用列偏移(offset)功能來實(shí)現(xiàn)。使用列偏移也非常簡單,只需要在列元素上添加類名“col-md-offset-*”(其中星號(hào)代表要偏移的列組合數(shù)),那么具有這個(gè)類名的列就會(huì)向右偏移。例如,你在列元素上添加“col-md-offset-4”,表示該列向右移動(dòng)4個(gè)列的寬度。

<div class="container">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-2 col-md-offset-4">列向右移動(dòng)四列的間距</div>
<div class="col-md-2">.col-md-3</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 col-md-offset-4">列向右移動(dòng)四列的間距</div>
</div>
</div>

如上面的示例代碼,得到的效果如下


實(shí)現(xiàn)原理非常簡單,就是利用十二分之一(1/12)的margin-left。然后有多少個(gè)offset,就有多少個(gè)margin-left。在bootstrap.css中第1205行~1241行所示:

 .col-md-offset-12 {
 margin-left: 100%;
}
 .col-md-offset-11 {
 margin-left: 91.66666667%;
 }
 .col-md-offset-10 {
 margin-left: 83.33333333%;
 }
 .col-md-offset-9 {
 margin-left: 75%;
 }
 .col-md-offset-8 {
 margin-left: 66.66666667%;
 }
 .col-md-offset-7 {
 margin-left: 58.33333333%;
 }
 .col-md-offset-6 {
 margin-left: 50%;
 }
 .col-md-offset-5 {
 margin-left: 41.66666667%;
 }
 .col-md-offset-4 {
 margin-left: 33.33333333%;
 }
 .col-md-offset-3 {
 margin-left: 25%;
 }
 .col-md-offset-2 {
 margin-left: 16.66666667%;
 }
 .col-md-offset-1 {
 margin-left: 8.33333333%;
 }
 .col-md-offset-0 {
 margin-left: 0;
 }

注意:

不過有一個(gè)細(xì)節(jié)需要注意,使用”col-md-offset-*”對(duì)列進(jìn)行向右偏移時(shí),要保證列與偏移列的總數(shù)不超過12,不然會(huì)致列斷行顯示,如:

<div class="row">
  <div class="col-md-3">.col-md-3</div>
  <div class="col-md-3 col-md-offset-3">col-md-offset-3</div>
  <div class="col-md-4">col-md-4</div>
</div>
上面代碼中列和偏移列總數(shù)為3+3+3+4 = 13>12,所以發(fā)生了列斷行。

如上面的示例代碼,得到的效果如下


6、列排序
 列排序其實(shí)就是改變列的方向,就是改變左右浮動(dòng),并且設(shè)置浮動(dòng)的距離。在Bootstrap框架的網(wǎng)格系統(tǒng)中是通過添加類名“col-md-push-*”和“col-md-pull-*” (其中星號(hào)代表移動(dòng)的列組合數(shù))。

我們來看一個(gè)簡單的示例:

<div class="container">
 <div class="row">
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-8">.col-md-8</div>
 </div>
</div>

默認(rèn)情況之下,上面的代碼效果如下:


“col-md-4”居左,“col-md-8”居右,如果要互換位置,需要將“col-md-4”向右移動(dòng)8個(gè)列的距離,也就是8個(gè)offset ,也就是在“<div class=“col-md-4”>”添加類名“col-md-push-8”,調(diào)用其樣式。

也要將“col-md-8”向左移動(dòng)4個(gè)列的距離,也就是4個(gè)offset,在“<div class=”col-md-8”>”上添加類名“col-md-pull-4”:

Bootstrap僅通過設(shè)置left和right來實(shí)現(xiàn)定位效果。在boostrap.css文件的第1127行~第1204行可以看到具體的代碼:

.col-md-pull-12 {
 right: 100%;
 }
 .col-md-pull-11 {
 right: 91.66666667%;
 }
 .col-md-pull-10 {
 right: 83.33333333%;
 }
 .col-md-pull-9 {
 right: 75%;
 }
 .col-md-pull-8 {
 right: 66.66666667%;
 }
 .col-md-pull-7 {
 right: 58.33333333%;
 }
 .col-md-pull-6 {
 right: 50%;
 }
 .col-md-pull-5 {
 right: 41.66666667%;
 }

 .col-md-pull-4 {
 right: 33.33333333%;
 }

 .col-md-pull-3 {
 right: 25%;
 }

 .col-md-pull-2 {
 right: 16.66666667%;
 }
 .col-md-pull-1 {
 right: 8.33333333%;
 }
 .col-md-pull-0 {
 right: 0;
 }

 .col-md-push-12 {
 left: 100%;
 }
 .col-md-push-11 {
 left: 91.66666667%;
 }
 .col-md-push-10 {
 left: 83.33333333%;
 }
 .col-md-push-9 {
 left: 75%;
 }
 .col-md-push-8 {
 left: 66.66666667%;
 }
 .col-md-push-7 {
 left: 58.33333333%;
 }
 .col-md-push-6 {
 left: 50%;
 }
 .col-md-push-5 {
 left: 41.66666667%;
 }
 .col-md-push-4 {
 left: 33.33333333%;
 }
 .col-md-push-3 {
 left: 25%;
 }
 .col-md-push-2 {
 left: 16.66666667%;
 }
 .col-md-push-1 {
 left: 8.33333333%;
 }
 .col-md-push-0 {
 left: 0;
}

7、列的嵌套
Bootstrap框架的網(wǎng)格系統(tǒng)還支持列的嵌套。你可以在一個(gè)列中添加一個(gè)或者多個(gè)行(row)容器,然后在這個(gè)行容器中插入列(像前面介紹的一樣使用列)。但在列容器中的行容器(row),寬度為100%時(shí),就是當(dāng)前外部列的寬度。來看一個(gè)簡單示例:

<div class="container">
 <div class="row">
 <div class="col-md-8">
 我的里面嵌套了一個(gè)網(wǎng)格
 <div class="row">
 <div class="col-md-6">col-md-6</div>
 <div class="col-md-6">col-md-6</div>
 </div>
 </div>
 <div class="col-md-4">col-md-4</div>
 </div>
 <div class="row">
 <div class="col-md-4">.col-md-4</div>
 <div class="col-md-8">
 我的里面嵌套了一個(gè)網(wǎng)格
 <div class="row">
 <div class="col-md-4">col-md-4</div>
 <div class="col-md-4">col-md-4</div>
 <div class="col-md-4">col-md-4</div>
 </div>
 </div>
 </div>
</div>

效果如下:

注意:嵌套的列總數(shù)也需要遵循不超過12列。不然會(huì)造成末位列換行顯示。

本文系列教程整理到:Bootstrap基礎(chǔ)教程 專題中,歡迎點(diǎn)擊學(xué)習(xí)。

如果大家還想深入學(xué)習(xí),可以點(diǎn)擊這里進(jìn)行學(xué)習(xí),再為大家附兩個(gè)精彩的專題:Bootstrap學(xué)習(xí)教程 Bootstrap實(shí)戰(zhàn)教程

本文都是通過最簡單的案例,來剖析案例中涉及到的布局要點(diǎn),希望對(duì)大家的學(xué)習(xí)有所幫助。

相關(guān)文章

  • JavaScript ECMA-262-3 深入解析.第三章.this

    JavaScript ECMA-262-3 深入解析.第三章.this

    在這篇文章里,我們將討論跟執(zhí)行上下文直接相關(guān)的更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字
    2011-09-09
  • 一個(gè)JavaScript獲取元素當(dāng)前高度的實(shí)例

    一個(gè)JavaScript獲取元素當(dāng)前高度的實(shí)例

    這篇文章主要為大家介紹了一個(gè)JavaScript獲取元素當(dāng)前高度的實(shí)例,比較實(shí)用,建議新手朋友們可以看看
    2014-10-10
  • Javascript中的對(duì)象屬性是有序的嗎

    Javascript中的對(duì)象屬性是有序的嗎

    這篇文章主要介紹了Javascript中的對(duì)象屬性是有序的嗎,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • 基于Echarts實(shí)現(xiàn)繪制立體柱狀圖的示例代碼

    基于Echarts實(shí)現(xiàn)繪制立體柱狀圖的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何基于Echarts實(shí)現(xiàn)繪制立體柱狀圖的功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-02-02
  • echarts餅圖各個(gè)板塊之間的空隙如何實(shí)現(xiàn)

    echarts餅圖各個(gè)板塊之間的空隙如何實(shí)現(xiàn)

    這篇文章主要給大家介紹了關(guān)于echarts餅圖各個(gè)板塊之間的空隙如何實(shí)現(xiàn)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • js獲取內(nèi)聯(lián)樣式的方法

    js獲取內(nèi)聯(lián)樣式的方法

    這篇文章主要介紹了js獲取內(nèi)聯(lián)樣式的方法,針對(duì)標(biāo)準(zhǔn)瀏覽器與IE瀏覽器進(jìn)行不同的判斷與獲取,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-01-01
  • 使用微信小程序開發(fā)前端【快速入門】

    使用微信小程序開發(fā)前端【快速入門】

    本文從代碼角度和宏觀角度簡單闡述了微信小程序在前端領(lǐng)域的一些內(nèi)容和影響,希望能夠幫助那些不了解微信小程序的開發(fā)者很快入門并認(rèn)識(shí)這一新的技術(shù)領(lǐng)域。
    2016-12-12
  • 小程序?qū)崿F(xiàn)單選多選功能

    小程序?qū)崿F(xiàn)單選多選功能

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)單選多選功能,可自定義樣式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • javascript制作sql轉(zhuǎn)換為stringBuffer的小工具

    javascript制作sql轉(zhuǎn)換為stringBuffer的小工具

    這篇文章主要介紹了javascript制作sql轉(zhuǎn)換為stringBuffer的小工具,使用方法很簡單,吧寫好的sql語句只要格式化好之后放進(jìn)去就可以了,推薦給大家,有需要的小伙伴可以參考下。
    2015-04-04
  • JavaScript組合模式---引入案例分析

    JavaScript組合模式---引入案例分析

    這篇文章主要介紹了JavaScript組合模式,結(jié)合具體案例形式分析了JavaScript組合模式定義、應(yīng)用與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2020-05-05

最新評(píng)論

白山市| 九寨沟县| 宜州市| 山东省| 临颍县| 河西区| 岑巩县| 汾西县| 鄂州市| 石柱| 凌海市| 大关县| 塔城市| 二手房| 舒兰市| 新化县| 延川县| 镇康县| 博客| 海兴县| 吉木萨尔县| 明水县| 忻州市| 台东市| SHOW| 江孜县| 华坪县| 社旗县| 兰西县| 沿河| 新和县| 浦县| 宜良县| 龙南县| 瑞安市| 泊头市| 株洲县| 应城市| 伊通| 盐边县| 和龙市|