實現原理
網格系統的實現原理非常簡單,僅僅是通過定義容器大小,平分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 在平面設計中,網格是一種由一系列用於組織內容的相交的直線 垂直的 水平的 組成的結構 通常是二維的 它廣泛應用於列印設計中的設計布局和內容結...