Bootstrap 提供了一套響應式、移動設備優先的流式網格系統(Grid System),隨著屏幕或視口(viewport)尺寸的增加,系統會自動分為最多12列。
一、什么是網格(Grid)?
在平面設計中,網格是一種由一系列用于組織內容的相交的直線(垂直的、水平的)組成的結構(通常是二維的)。它廣泛應用于打印設計中的設計布局和內容結構。在網頁設計中,它是一種用于快速創建一致的布局和有效地使用 HTML 和 CSS 的方法。
一句話概括:網頁設計中的網格用于組織內容,讓網站易于瀏覽,并降低用戶端的負載。
二、什么是Bootstrap網格系統(Grid System)?
Bootstrap 包含了一個 響應式的、移動設備優先的、不固定的網格系統 ,可以隨著設備或視口大小的增加而適當地擴展到 12 列。它包含了用于簡單的布局選項的預定義類,也包含了用于生成更多語義布局的功能強大的混合類。
三、網格系統工作原理
網格系統通過一系列包含內容的行和列來創建頁面布局。下面列出了 Bootstrap 網格系統是如何工作的:
•行必須放置在 .container class 內,以便獲得適當的對齊(alignment)和內邊距(padding)。
•使用行row來創建列的水平組。
•內容應該放置在列內, 且唯有列可以是行的直接子元素 。
•預定義的網格類,比如 .row 和 .col-xs-4 ,可用于快速創建網格布局。LESS 混合類可用于更多語義布局。
•列通過內邊距(padding)來創建列內容之間的間隙。該內邊距是通過 .rows 上的外邊距(margin)取負,表示第一列和最后一列的行偏移。
•網格系統是通過指定您想要橫跨的十二個可用的列來創建的。例如,要創建三個相等的列,則使用三個 .col-xs-4。
下面是 Bootstrap 基本的網格結構:
<div class="container"> <div class="row"> <div class="col-*-*"></div> <div class="col-*-*"></div> </div> <div class="row">...</div></div><div class="container">...</div>
注意:列 <div class="col-*-*"></div> 必須放在 <div class="row"> 行元素下,且行元素里邊只能包含列子元素,不能跟其他的子標簽元素,否則,布局樣式會亂掉。
四、布局實戰
代碼:
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Bootstrap 實例 - 布局偏移列-@corwien</title> <link rel="stylesheet" > <script src="https://cdn.static.runoob.com/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdn.static.runoob.com/libs/bootstrap/3.3.7/js/bootstrap.min.js"></script></head><body style="margin:50px;background:gray;"><div class="container" style="background:white;"> <div class="row" > <div class="col-md-8 col-md-offset-1"> <div style="background:pink; height:50px;">區塊一 (col-md-8 col-md-offset-1)</div> </div> <div class="col-md-3"> <div style="background:orange; height:50px;">區塊二 (col-md-3)</div> </div> <div class="col-md-8 col-md-offset-1"> <div style="background:green; height:50px;">區塊三 (col-md-8 col-md-offset-1)</div> </div> <div class="col-md-4"> <div style="background:red; height:50px;">區塊四 (col-md-4)</div> </div> <div class="col-md-12"> <div style="background:yellow; height:50px;">區塊五(col-md-12)</div> </div> <div class="col-md-3"> <div style="background:purple; height:50px;">區塊六(col-md-3)</div> </div> <div class="col-md-6"> <div style="background:beige; height:50px;">區塊七(col-md-6)</div> </div> <div class="col-md-3"> <div style="background:olive; height:50px;">區塊八(col-md-3)</div> </div> </div></div></body></html>
說明:灰色區域為body, 白色區域內為container容器。
注意:這里要特別注意區塊一、區塊二為在同一行,而區塊三、和區塊四在不同行,為什么呢?因為列元素為行內元素,如果一行沒有夠12列,則下邊的區塊元素會和它上邊的區塊列加起來小于或等于12,則會排在同一行,如果加起來大于12,則會排在下一列,如區塊一和區塊二兩個列加起來等于12,則剛好能排在同一行,而區塊三、四兩個列加起來為13,超過一行最大顯示列數12,自然就排在另一行了。
以上所述是小編給大家介紹的Bootstrap 網格系統布局,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
|
新聞熱點
疑難解答