bootstrap中的網格系統

2021-08-27 22:31:57 字數 4722 閱讀 4421

實現原理

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

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

.col-md-1

工作原理

bootstrap框架的網格系統工作原理如下:

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

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

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

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

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

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

.container

@media (min-width: 992px)

@media (min-width: 1200px)

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

/*定義每個列組合的寬度(使用的百分比)*/

.col-md-12

.col-md-11

.col-md-10

.col-md-9

.col-md-8

.col-md-7

.col-md-6

.col-md-5

.col-md-4

.col-md-3

.col-md-2

.col-md-1

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

.col-md-4

列向右移動四列的間距

.col-md-3

.col-md-4

列向右移動四列的間距

如上面的示例**,得到的效果如下或在最右側結果視窗中可以看到(滑鼠移到結果視窗,單擊出現的全屏按鈕):

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

.col-md-offset-12

.col-md-offset-11

.col-md-offset-10

.col-md-offset-9

.col-md-offset-8

.col-md-offset-7

.col-md-offset-6

.col-md-offset-5

.col-md-offset-4

.col-md-offset-3

.col-md-offset-2

.col-md-offset-1

.col-md-offset-0

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

.col-md-3

col-md-offset-3

col-md-4

上面**中列和偏移列總數為3+3+3+4 = 13>12,所以發生了列斷行。

列排序列排序其實就是改變列的方向,就是改變左右浮動,並且設定浮動的距離。在bootstrap框架的網格系統中是通過新增類名「col-md-push-*」和「col-md-pull-*」 (其中星號代表移動的列組合數)。

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

.col-md-4

.col-md-8

預設情況之下,上面的**效果如下:

「col-md-4」居左,「col-md-8」居右,如果要互換位置,需要將「col-md-4」向右移動8個列的距離,也就是8個offset ,也就是在「」新增類名「col-md-push-8」,呼叫其樣式。

也要將「col-md-8」向左移動4個列的距離,也就是4個offset,在「」上新增類名「col-md-pull-4」:

bootstrap僅通過設定left和right來實現定位效果。在boostrap.css檔案的第1127行~第1204行可以看到具體的**:

.col-md-pull-12

.col-md-pull-11

.col-md-pull-10

.col-md-pull-9

.col-md-pull-8

.col-md-pull-7

.col-md-pull-6

.col-md-pull-5

.col-md-pull-4

.col-md-pull-3

.col-md-pull-2

.col-md-pull-1

.col-md-pull-0

.col-md-push-12

.col-md-push-11

.col-md-push-10

.col-md-push-9

.col-md-push-8

.col-md-push-7

.col-md-push-6

.col-md-push-5

.col-md-push-4

.col-md-push-3

.col-md-push-2

.col-md-push-1

.col-md-push-0

列的巢狀

bootstrap框架的網格系統還支援列的巢狀。你可以在乙個列中新增乙個或者多個行(row)容器,然後在這個行容器中插入列(像前面介紹的一樣使用列)。但在列容器中的行容器(row),寬度為100%時,就是當前外部列的寬度。來看乙個簡單示例:

我的裡面巢狀了乙個網格

col-md-6

col-md-6

col-md-4

.col-md-4

我的裡面巢狀了乙個網格

col-md-4

col-md-4

col-md-4

BootStrap 網格系統

網路系統 bootstrap 允許將頁面劃分成共12個等寬邏輯單元,既允許單獨地使用這12個等分邏輯單元,也可以將其相鄰的列合併成乙個更寬的邏輯單元,甚至在乙個邏輯單元中再劃分12個子邏輯單元。如下圖所示 網格用到的類樣式bootstrap的網路系統支援可響應式布局,當其列螢幕大小發生變化時則自動計...

Bootstrap網格系統

bootstrap是乙個用於快速開發web應用程式和 的前端框架,它包括html,css,js等。它是由twitter開發,現在成為github上最為流行的前端開發框架。它提供了一套響應式,移動裝置優先的流式柵格系統,隨著螢幕或視窗尺寸增加,系統會自動分為最多12列。柵格系統用於通過一系列的行 ro...

bootstrap網格系統回顧

bootstrap 提供了一套響應式 移動裝置優先的流式網格系統,隨著螢幕或視口 viewport 尺寸的增加,系統會自動分為最多12列。什麼是網格 grid 在平面設計中,網格是一種由一系列用於組織內容的相交的直線 垂直的 水平的 組成的結構 通常是二維的 它廣泛應用於列印設計中的設計布局和內容結...