亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Bootstrap每天必學之柵格系統(布局)

2019-11-20 11:10:27
字體:
來源:轉載
供稿:網友

 1、柵格系統(布局)
Bootstrap內置了一套響應式、移動設備優先的流式柵格系統,隨著屏幕設備或視口(viewport)尺寸的增加,系統會自動分為最多12列。

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

網格系統的實現原理非常簡單,僅僅是通過定義容器大小,平分12份(也有平分成24份或32份,但12份是最常見的),再調整內外邊距,最后結合媒體查詢,就制作出了強大的響應式網格系統。Bootstrap框架中的網格系統就是將容器平分成12份。

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

2、使用規則
Bootstrap內置了一套響應式、移動設備。

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

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

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

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

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

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

為了更好的理解Bootstrap框架的網格系統工作原理,我們來看一張草圖:

簡單對圖解釋一下:

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

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

.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號橫條闡述的是,將容器的行(.row)平分了12等份,也就是列。每個列都有一個“padding-left:15px”(圖中粉紅色部分)和一個“padding-right:15px”(圖中紫色部分)。這樣也導致了第一個列的padding-left和最后一列的padding-right占據了總寬度的30px,從而致使頁面不美觀,當然,如果你需要留有一定的間距,這個做法是不錯的。如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號橫條就是行容器(.row),其定義了“margin-left”和”margin-right”值為”-15px”,用來抵消第一個列的左內距和最后一列的右內距。在bootstrap.css的第763行~第767行可以看到:

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

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

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

3、柵格選項
   通過下面的截圖可以比較清楚的來查看Bootstrap的柵格系統是如何在多種不同的移動設備上面進行工作的。

      

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

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

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

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

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

1)、列組合

列組合簡單理解就是更改數字來合并列(原則:列總和數不能超12),有點類似于表格的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>

使用上面的結構,你將看到下圖的效果:


實現列組合方式非常簡單,只涉及兩個CSS兩個特性:浮動與寬度百分比。在bootstrap.css文件的第1088行~1126行:

/*確保所有列左浮動*/.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; }/*定義每個列組合的寬度(使用的百分比)*/

 .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、列偏移
有的時候,我們不希望相鄰的兩個列緊靠在一起,但又不想使用margin或者其他的技術手段來。這個時候就可以使用列偏移(offset)功能來實現。使用列偏移也非常簡單,只需要在列元素上添加類名“col-md-offset-*”(其中星號代表要偏移的列組合數),那么具有這個類名的列就會向右偏移。例如,你在列元素上添加“col-md-offset-4”,表示該列向右移動4個列的寬度。

<div class="container"><div class="row"><div class="col-md-4">.col-md-4</div><div class="col-md-2 col-md-offset-4">列向右移動四列的間距</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">列向右移動四列的間距</div></div></div>

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


實現原理非常簡單,就是利用十二分之一(1/12)的margin-left。然后有多少個offset,就有多少個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; }

注意:

不過有一個細節需要注意,使用”col-md-offset-*”對列進行向右偏移時,要保證列與偏移列的總數不超過12,不然會致列斷行顯示,如:

<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>
上面代碼中列和偏移列總數為3+3+3+4 = 13>12,所以發生了列斷行。

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


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

我們來看一個簡單的示例:

<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>

默認情況之下,上面的代碼效果如下:


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

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

Bootstrap僅通過設置left和right來實現定位效果。在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框架的網格系統還支持列的嵌套。你可以在一個列中添加一個或者多個行(row)容器,然后在這個行容器中插入列(像前面介紹的一樣使用列)。但在列容器中的行容器(row),寬度為100%時,就是當前外部列的寬度。來看一個簡單示例:

<div class="container"> <div class="row"> <div class="col-md-8"> 我的里面嵌套了一個網格 <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"> 我的里面嵌套了一個網格 <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>

效果如下:

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

本文系列教程整理到:Bootstrap基礎教程 專題中,歡迎點擊學習。

如果大家還想深入學習,可以點擊這里進行學習,再為大家附兩個精彩的專題:Bootstrap學習教程 Bootstrap實戰教程

本文都是通過最簡單的案例,來剖析案例中涉及到的布局要點,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日本在线视频中文字字幕| 日日狠狠久久偷偷四色综合免费| 美女啪啪无遮挡免费久久网站| 久久久久久久久久婷婷| 亚洲色图校园春色| 在线观看欧美日韩| 中文字幕欧美精品日韩中文字幕| 国产成人免费av电影| 欧美大人香蕉在线| 欧美精品激情在线| 久久香蕉频线观| 欧美日韩国产第一页| 日韩欧美中文字幕在线播放| 久久色在线播放| 欧美疯狂性受xxxxx另类| 国产精品小说在线| 国产精品久久久久久久久粉嫩av| 91精品国产91久久久久久不卡| 欧美国产日本在线| 97欧美精品一区二区三区| 欧美高跟鞋交xxxxxhd| 国产精品免费视频xxxx| 91精品国产91久久久久久久久| 欧美成人精品在线观看| 国产精品ⅴa在线观看h| 亚洲免费视频一区二区| 91手机视频在线观看| 国产精品女主播| 亚洲激情自拍图| 在线观看国产精品日韩av| 97成人精品视频在线观看| 中文字幕亚洲欧美在线| 色偷偷91综合久久噜噜| 91久久嫩草影院一区二区| 欧美日韩国产一区二区| 日韩精品视频三区| 91在线视频免费| 美女999久久久精品视频| 亚洲欧美中文日韩在线v日本| 国产精品女人久久久久久| 国产精品va在线播放我和闺蜜| 97超视频免费观看| 日本欧美中文字幕| 成人av在线亚洲| 久久国产加勒比精品无码| 亚洲精品91美女久久久久久久| 北条麻妃一区二区在线观看| 欧美性jizz18性欧美| 97av在线播放| 国产精品久久久久久久久| 国产成人亚洲综合91| 超在线视频97| 在线观看久久av| 91精品视频专区| 日韩在线视频导航| 久久综合国产精品台湾中文娱乐网| 欧洲成人午夜免费大片| 欧美激情一级精品国产| 久久精品国产清自在天天线| xxav国产精品美女主播| 国产日产欧美a一级在线| 黄网站色欧美视频| 91精品国产91久久久久久| 国产欧美精品va在线观看| 亚洲精品久久在线| 久久成人亚洲精品| 欧美日韩久久久久| 欧美大学生性色视频| 日韩精品免费在线播放| 欧美性生交xxxxxdddd| 亚洲二区中文字幕| 亚洲精品aⅴ中文字幕乱码| 久久婷婷国产麻豆91天堂| 91大神福利视频在线| 国产欧美精品一区二区三区-老狼| 久久久久久伊人| 成人免费午夜电影| 日韩精品免费一线在线观看| 国产成人中文字幕| 精品国产精品自拍| 少妇高潮 亚洲精品| 国产成人一区二区在线| 毛片精品免费在线观看| 不卡在线观看电视剧完整版| 久久天天躁狠狠躁夜夜躁| 久久久91精品国产| 主播福利视频一区| 日韩免费高清在线观看| 裸体女人亚洲精品一区| 亚洲国产又黄又爽女人高潮的| 欧美黑人巨大xxx极品| 欧美黑人巨大精品一区二区| 91理论片午午论夜理片久久| 精品免费在线观看| 欧美在线一级视频| 欧美日韩一区二区三区| 日韩av在线网址| 亚洲最新中文字幕| 高清欧美性猛交xxxx黑人猛交| 亚洲美女免费精品视频在线观看| 国产91成人在在线播放| 日韩欧美中文在线| 国产欧美最新羞羞视频在线观看| 欧美日韩午夜剧场| 亚洲r级在线观看| 国产视频欧美视频| 亚洲男人天堂久| 日韩免费看的电影电视剧大全| 欧美日韩国内自拍| 欧美精品video| 欧美一二三视频| 成人欧美在线观看| 亚洲国产99精品国自产| 2021久久精品国产99国产精品| 亚洲韩国青草视频| 亚洲国产美女久久久久| …久久精品99久久香蕉国产| 美女av一区二区三区| 色综合天天狠天天透天天伊人| 亚洲免费精彩视频| 成人做爰www免费看视频网站| 精品国产一区二区三区久久久狼| 日韩在线观看免费高清| 欧美裸体xxxx极品少妇软件| 日韩激情片免费| 国产精品成人品| 亚洲亚裔videos黑人hd| 国内精品久久久久| 欧美人成在线视频| 国产亚洲综合久久| 97色在线播放视频| 日产精品99久久久久久| 一个人www欧美| 91日本在线视频| 亚洲欧洲第一视频| 国产日韩欧美另类| 中文字幕欧美精品在线| 亚洲成色777777女色窝| 欧美刺激性大交免费视频| 日韩欧美极品在线观看| 欧美激情中文字幕乱码免费| 97视频在线观看免费高清完整版在线观看| 国产精品欧美日韩一区二区| 亚洲a中文字幕| 亚洲护士老师的毛茸茸最新章节| 欧美黑人性生活视频| 亚洲肉体裸体xxxx137| 日韩成人在线播放| 亚洲欧洲免费视频| 亚洲高清色综合| 日韩av在线网页| 国产成+人+综合+亚洲欧美丁香花| 亚洲无限乱码一二三四麻| 久久免费视频网| 岛国av午夜精品| 北条麻妃一区二区三区中文字幕| 久久国产精品久久久久久久久久| 久久影院免费观看| 色综合伊人色综合网| 亚洲精品久久久久中文字幕欢迎你| 亚洲va电影大全| 欧美视频专区一二在线观看| 久久成年人视频| 午夜美女久久久久爽久久|