bootstrap實現響應式佈局的原理是什麼

2022-03-09 16:01:20

在bootstrap中,響應式佈局是利用柵格系統對於不同螢幕採用不同的類屬性實現的,系統會自動分為12列,響應式佈局利用柵格系統通過一系列的行與列的組合來建立頁面佈局。

本教學操作環境:Windows10系統、bootstrap3.3.7版、DELL G3電腦

bootstrap實現響應式佈局的原理是什麼

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

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

bootstrap優缺點:

1.bootstap最近釋出了bootstrap4,擁有了box-flex佈局等更新,緊跟最新的web技術的發展

2.比較成熟,在大量的專案中充分的使用和測試

3.擁有完善的檔案,使用起來更方便

4.有大量的元件樣式,接受客製化

缺點:

1.如果有自己特殊的需求,就需要重新客製化樣式,如果一個網站中有大量的非bootstrap「風格」的樣式存在,那麼你就需要做大量的css重寫,因此也就失去了使用框架的意義。

2.會有相容問題,雖然網上存在很多相容IE的辦法,但需要引入其他檔案,有些還不小,勢必導致載入速度變慢,影響使用者體驗。

Bootstrap響應式佈局是利用其柵格系統,對於不同的螢幕採用不同的類屬性。在開發中可以只寫一套程式碼在手機平板,PC端都能使用,而不用考慮使用媒體查詢(針對不同的裝置分別寫不同的程式碼)。Bootstrap的官方解釋:Bootstrap提供了一套響應式、移動裝置優先的流式柵格系統,隨著螢幕或視口(viewport)尺寸的增加,系統會自動分為做多12列。 柵格系統用於通過一系列的行(row)與列(column)的組合來建立頁面佈局。

柵格系統的工作原理:

1.行(row)必須包含在.container(固定寬度)或.container-fluid(100%寬度)中,以便為其賦予合適的排列(aligment
)和內補(padding)。
2.通過行(row)在水平方向建立一組列(column)。
3.自己內容應當放置於列(column)內,並且,只有列可以作為行(row)的直接子元素。
4.類似.row和.col-xs-4這種預定義的類,可以用來快速建立柵格佈局。Bootstrap原始碼中定義的mixin也可以用來建立語意化佈局。
5.通過為列設定padding屬性,從而建立列與列之間的間隔(gutter)。通過為.row元素設定負值margin從而抵消為.container元素設定的padding,也就間接為行(row)所包含的列(column)抵消掉了padding。
6.柵格系統的列是通過指定1到12的值來表示其跨越範圍。例如三個等寬的列可以使用三個.col-xs-4來建立。
7.如果一行(row)中包含了的列(column)大於12,多餘的列所在的元素將作為一個整體另起一行排列。
8.柵格類適用於與螢幕寬度大於或等於分界點大小的裝置,並且針對小螢幕覆蓋柵格類。
如下圖所示為柵格系統在多種螢幕上的應用說明。

使用Bootstrap響應式佈局,

首先需要在head中引入meta標籤,新增viewpirt屬性,content中寬度等於裝置寬度, initial-scale:頁面首次被顯示可見區域的縮放級別,取值1則頁面按實際尺寸顯示,無任何縮放;maximum-scale:允許使用者縮放到的最小比例;user-scalable:使用者是否可以手動縮放。程式碼如下:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
<link rel="stylesheet" type="text/css" href="/stylesheets/bootstrap.min.css">

下面為使用bootstrap佈局的頁面(登入表單介面),針對的是手機超小螢幕(iphone5s)和PC螢幕(>=1200px)。col-xs-12:小螢幕佔12列大小,col-lg-5:大螢幕佔5列大小,col-lg-offset-3:大螢幕縮排3列大小。這是一個比較簡單的範例,想要適應其他螢幕如平板可新增col-md-* 屬性,大屏手機可新增col-sm-*屬性。具體的螢幕使用哪個屬性,可參考上面圖上的針對不同螢幕Bootstrap柵格系統的不同使用。

<p class="container-fluid login">
  <p class="row">
    <p class="col-xs-12 col-sm-12 col-md-8 col-lg-5 col-lg-offset-3">
      <form class="form-horizontal loginForm">
        <h3 class="form-signin-heading">使用者登入</h3>
        <p class="form-group">
          <label for="email" class="col-sm-2 col-xs-3 control-label">郵箱</label>
          <p class="col-sm-8 col-xs-8">
            <input type="text" class="form-control" name="email" placeholder="請輸入郵箱">
              <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
            </p>
        </p>
        <p class="form-group">
          <label for="password" class="col-sm-2 col-xs-3 control-label">密碼</label>
          <p class="col-sm-8 col-xs-8">
            <input type="password" class="form-control" name="password" placeholder="請輸入密碼">
              <span class="glyphicon glyphicon-ok form-control-feedback" aria-hidden="true"></span>
            </p>
        </p>
        <p class="form-group">
          <p class="col-sm-offset-2 col-sm-4 col-xs-4 ">
            <p class="checkbox">
              <label>
                <input type="checkbox">記住我 </label>
            </p>
          </p>
          <p class="col-sm-4 col-xs-4 control-label" >
            <a href="resetPwd.html" id="forget">忘記密碼?</a>
          </p>
        </p>
        <p class="form-group">
          <p class="col-sm-12 col-lg-12">
            <button type="button" class="btn btn-primary btn-block" id="submit">登入</button>
          </p>
        </p>
      </form>
    </p>
  </p>

程式碼效果圖:
PC端:

手機端:

相關推薦:

以上就是bootstrap實現響應式佈局的原理是什麼的詳細內容,更多請關注TW511.COM其它相關文章!