DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> Bootstrap布局方式詳解
Bootstrap布局方式詳解
編輯:關於JavaScript     

Bootstrap 3 是移動設備優先的,在這個意義上,Bootstrap 代碼從小屏幕設備(比如移動設備、平板電腦)開始,然後擴展到大屏幕設備(比如筆記本電腦、台式電腦)上的組件和網格。

一、移動設備優先策略
1、內容: 決定什麼是最重要的。
2、布局
優先設計更小的寬度。
基礎的 CSS 是移動設備優先,媒體查詢是針對於平板電腦、台式電腦。
3、漸進增強
隨著屏幕大小的增加而添加元素。

響應式網格系統隨著屏幕或視口(viewport)尺寸的增加,系統會自動分為最多12列。如下圖:

二、Bootstrap 網格系統(Grid System)的工作原理
網格系統通過一系列包含內容的行和列來創建頁面布局。下面列出了 Bootstrap 網格系統是如何工作的:

1、行必須放置在 .container class 內,以便獲得適當的對齊(alignment)和內邊距(padding)。
2、使用行來創建列的水平組。
3、內容應該放置在列內,且唯有列可以是行的直接子元素。
4、預定義的網格類,比如 .row 和 .col-xs-4,可用於快速創建網格布局。LESS 混合類可用於更多語義布局。
5、列通過內邊距(padding)來創建列內容之間的間隙。該內邊距是通過 .rows 上的外邊距(margin)取負,表示第6、一列和最後一列的行偏移。
7、網格系統是通過指定您想要橫跨的十二個可用的列來創建的。例如,要創建三個相等的列,則使用三個 .col-xs-4。

三、媒體查詢
媒體查詢是非常別致的"有條件的 CSS 規則"。它只適用於一些基於某些規定條件的 CSS。如果滿足那些條件,則應用相應的樣式。

Bootstrap 中的媒體查詢允許您基於視口大小移動、顯示並隱藏內容。下面的媒體查詢在 LESS 文件中使用,用來創建 Bootstrap 網格系統中的關鍵的分界點阈值。

/* 超小設備(手機,小於 768px) */
/* Bootstrap 中默認情況下沒有媒體查詢 */
 
/* 小型設備(平板電腦,768px 起) */
@media (min-width: @screen-sm-min) { ... }
 
/* 中型設備(台式電腦,992px 起) */
@media (min-width: @screen-md-min) { ... }
 
/* 大型設備(大台式電腦,1200px 起) */
@media (min-width: @screen-lg-min) { ... }

我們有時候也會在媒體查詢代碼中包含 max-width,從而將 CSS 的影響限制在更小范圍的屏幕大小之內。

@media (max-width: @screen-xs-max) { ... }
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
@media (min-width: @screen-lg-min) { ... }

媒體查詢有兩個部分,先是一個設備規范,然後是一個大小規則。在上面的案例中,設置了下列的規則:

讓我們來看下面這行代碼:
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
對於所有帶有 min-width: @screen-sm-min 的設備,如果屏幕的寬度小於 @screen-sm-max,則會進行一些處理。

四、網格選項
下表總結了Bootstrap 網格系統如何跨多個設備工作:

五、基本的網格結構
下面是 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 class="container">
  <h1>Hello, world!</h1>
  <div class="row">
   <!--超小設備手機(<768px) -->
   <div class="col-xs-1" style="background: #f00">1</div>
   <div class="col-xs-1" style="background: #b2b0b0">2</div>
   <div class="col-xs-1" style="background: #ff6a00">3</div>
   <div class="col-xs-1" style="background: #ffd800">4</div>
   <div class="col-xs-1" style="background: #4cff00">5</div>
   <div class="col-xs-1" style="background: #0ff">6</div>
   <div class="col-xs-1" style="background: #0094ff">7</div>
   <div class="col-xs-1" style="background: #b200ff">8</div>
   <div class="col-xs-1" style="background: #ff00dc">9</div>
   <div class="col-xs-1" style="background: #ff006e">10</div>
   <div class="col-xs-1" style="background: #ac5050">11</div>
   <div class="col-xs-1" style="background: #54bd4f">12</div>
  </div>
  <div class="row">
   <!--小型設備平板電腦(≥768px) -->
   <div class="col-sm-4" style="background: #b2b0b0">1</div>
   <div class="col-sm-4" style="background: #ffd800">1</div>
   <div class="col-sm-4" style="background: #ac5050">1</div>
  </div>
  <div class="row">
   <!--中型設備台式電腦(≥992px) -->
   <div class="col-md-4" style="background: #ac5050">1</div>
   <div class="col-md-8" style="background: #54bd4f">1</div>
  </div>
  <div class="row">
   <!--大型設備台式電腦(≥1200px) -->
   <div class="col-lg-8" style="background: #ac5050">1</div>
   <div class="col-lg-4" style="background: #54bd4f">1</div>
  </div>
 </div>

六、偏移列
偏移是一個用於更專業的布局的有用功能。它們可用來給列騰出更多的空間。例如,.col-xs=* 類不支持偏移,但是它們可以簡單地通過使用一個空的單元格來實現該效果。

為了在大屏幕顯示器上使用偏移,請使用 .col-md-offset-* 類。這些類會把一個列的左外邊距(margin)增加 * 列,其中 * 范圍是從 1到 11。

在下面的實例中,我們有 <div class="col-md-6">..</div>,我們將使用 .col-md-offset-3 class 來居中這個 div。

<div class="container">
  <div class="row">
   <div class="col-xs-6 col-md-offset-3"
    style="background-color: #dedef8;">
    <p>
    測試偏移列---此處往右偏移了3列
    </p>
   </div>
  </div>
  <div class="row">
   <div class="col-xs-1" style="background: #f00">1</div>
   <div class="col-xs-1" style="background: #b2b0b0">2</div>
   <div class="col-xs-1" style="background: #ff6a00">3</div>
   <div class="col-xs-1" style="background: #ffd800">4</div>
   <div class="col-xs-1" style="background: #4cff00">5</div>
   <div class="col-xs-1" style="background: #0ff">6</div>
   <div class="col-xs-1" style="background: #0094ff">7</div>
   <div class="col-xs-1" style="background: #b200ff">8</div>
   <div class="col-xs-1" style="background: #ff00dc">9</div>
   <div class="col-xs-1" style="background: #ff006e">10</div>
   <div class="col-xs-1" style="background: #ac5050">11</div>
   <div class="col-xs-1" style="background: #54bd4f">12</div>
  </div>
 </div>

顯示效果:

七、嵌套列
為了在內容中嵌套默認的網格,請添加一個新的 .row,並在一個已有的 .col-md-* 列內添加一組 .col-md-* 列。被嵌套的行應包含一組列,這組列個數不能超過12(其實,沒有要求你必須占滿12列)。

在下面的實例中,布局有兩個列,第二列被分為兩行四個盒子。

<div class="container">
  <div class="row">
   <div class="col-xs-4" style="background: #b2b0b0">第一列</div>
   <div class="col-xs-8" style="background: #dedef8">第二列--裡面嵌套了四個DIV
    <div class="row">
     <div class="col-xs-6" style="background: #0094ff">我是內容一<br /><br /><br /></div>
     <div class="col-xs-6" style="background: #b200ff">我是內容二</div>
    </div>
    <div class="row">
     <div class="col-xs-6" style="background: #ff00dc">我是內容三<br /><br /><br /></div>
     <div class="col-xs-6" style="background: #ff006e">我是內容四</div>
    </div>
   </div>
  </div>
 </div>

顯示效果:

八、列排序
Bootstrap 網格系統另一個完美的特性,就是您可以很容易地以一種順序編寫列,然後以另一種順序顯示列。

您可以很輕易地改變帶有 .col-md-push-* 和 .col-md-pull-* 類的內置網格列的順序,其中 * 范圍是從 1 到 11。

在下面的實例中,我們有兩列布局,左列很窄,作為側邊欄。我們將使用 .col-md-push-* 和 .col-md-pull-* 類來互換這兩列的順序。

<div class="container">
  <div class="row">
   <div class="col-xs-4 col-md-push-8" style="background: #ff00dc">左邊</div>
   <div class="col-xs-8 col-md-pull-4" style="background: #ff006e">右邊</div>
  </div>
 </div>

顯示效果:

如果大家還想深入學習,可以點擊這裡進行學習,再為大家附3個精彩的專題:

Bootstrap學習教程

Bootstrap實戰教程

Bootstrap插件使用教程

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved