Bootstrap基本樣式的使用
一、准備工作
1,響應式布局
Bootstrap是一種響應式布局框架,可以自動適配不同設備大小的顯示模式,使用方式:在head標簽中引入以下代碼:
<meta name="viewport" content="width=device-width, initial-scale=1">
其中 initial-scale=1 表示縮放比例為1.
2,引入bootstrap.css
可以將bootstrap.css文件下載到本地進行本地導入,還可以使用CDN導入,其中CDN導入方法如下:
<!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> <!-- 可選的 Bootstrap 主題文件(一般不用引入) --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap-theme.min.css"> <!-- 最新的 Bootstrap 核心 JavaScript 文件 --> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
使用CDN的優缺點:1,必須在網絡環境下才可引入;2,如果在當地的服務器上有文件,則加載速度會很快,比如CDN在青島的某個服務器上存在bootstrap.css文件,則青島地區的用戶引入該文件的速度會很快,反之速度較慢,加載的延遲較高;3,使用CDN加載css文件在Webstorm軟件中沒有代碼提示,如需要代碼提示,建議將bootstrap.css下載到本地再引入。
3,引入bootstrap.js和jQuery.js
可以將bootstrap.js和jQuery.js文件下載到本地進行本地導入,還可以使用CDN導入,其中CDN導入方法如下:
<!-- jQuery 某些bootstrap插件需要使用 -->
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<!-- 所有的bootstrap插件都需要引入 -->
<script src="js/bootstrap.min.js"></script>
注意:盡量將js文件的引入放在body標簽的最后,提高瀏覽器渲染頁面的性能。
二、開發中常使用到的樣式
1,柵格系統
Bootstrap 提供了一套響應式、移動設備優先的流式柵格系統,隨着屏幕或視口(viewport)尺寸的增加,系統會自動分為最多12列。
- “行(row)”必須包含在
.container
(固定寬度)或.container-fluid
(100% 寬度)中,以便為其賦予合適的排列(aligment)和內補(padding)。流式布局容器(.container-fluid),將最外面的布局元素.container
修改為.container-fluid
,就可以將固定寬度的柵格布局轉換為 100% 寬度的布局。與.container的區別就是將container的最大寬度始終設置為設備屏幕的100%。 - 柵格系統中的列是通過指定1到12的值來表示其跨越的范圍。例如,三個等寬的列可以使用三個
.col-xs-4
來創建。 - 如果一“行(row)”中包含了的“列(column)”大於 12,多余的“列(column)”所在的元素將被作為一個整體另起一行排列。
代碼片段如下:
<div class="container">
//將一行按照8:4分成兩列
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
//將一行三等分為三列
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
//將一行等分為兩列
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
</div>
柵格參數
通過下表可以詳細查看 Bootstrap 的柵格系統是如何在多種屏幕設備上工作的;
兼容模式是向后兼容,例如當時用.col-md-時,在大屏幕時依然按照中等屏幕的布局方式排列,在小屏幕或者超小屏幕時則按照堆疊的方式排列,同樣的原理,如果設置.col-xs-,則在所有的設備上都顯示為其設置的排版布局,因為柵格系統是向后兼容;
柵格布局采用的是左浮動的布局方式,可以通過定義class屬性值為.clearfix來清除浮動;
.col-md-offset-5來設置該柵格左邊空出的5格,.col-md-push-3,表示該柵格向右移動3格,.col-md-pull-3表示改柵格向左移動3格;
超小屏幕 手機 (<768px) | 小屏幕 平板 (≥768px) | 中等屏幕 桌面顯示器 (≥992px) | 大屏幕 大桌面顯示器 (≥1200px) | |
---|---|---|---|---|
柵格系統行為 | 總是水平排列 | 開始是堆疊在一起的,當大於這些閾值時將變為水平排列C | ||
.container 最大寬度 |
None (自動) | 750px | 970px | 1170px |
類前綴 | .col-xs- |
.col-sm- |
.col-md- |
.col-lg- |
列(column)數 | 12 | |||
最大列(column)寬 | 自動 | ~62px | ~81px | ~97px |
槽(gutter)寬 | 30px (每列左右均有 15px) | |||
可嵌套 | 是 | |||
偏移(Offsets) | 是 | |||
列排序 | 是 |
通過柵格系統的布局方式,可以很簡潔的設計出自己需要的響應式布局排版,能夠在不同設備上達到不同的顯示效果。
通過下面的實例說明柵格布局在手機、平板、電腦設備上的動態布局的強大:
<div class="container"> <div class="row"> <div class="col-xs-12 col-sm-6 col-md-8">.col-xs-12 .col-sm-6 .col-md-8</div> <div class="col-xs-6 col-md-4">.col-xs-6 .col-md-4</div> </div> </div>
其中第三行的class屬性值表示的意思是,在超小屏幕(<768px)上顯示為12個柵格,在小屏幕(>768px)上顯示為6個柵格,在中等屏幕(>=992px)上顯示的為8個柵格,大屏幕上未定義,根據柵格的向后兼容,在大屏幕上顯示的為中等屏幕的布局。
媒體查詢
很容易理解,如下代碼:
/* 小屏幕(平板,大於等於 768px) 此時執行{}里面的樣式 */ @media (min-width: @screen-sm-min) { ... } /* 中等屏幕(桌面顯示器,大於等於 992px) 此時執行{}里面的樣式*/ @media (min-width: @screen-md-min) { ... } /* 大屏幕(大桌面顯示器,大於等於 1200px) 此時執行{}里面的樣式*/ @media (min-width: @screen-lg-min) { ... }
e.g:
div{
/* 中等屏幕(桌面顯示器,大於等於 992px) 此時執行{}里面的樣式*/
@media (min-width: @screen-md-min) { width:100% }
/* 大屏幕(大桌面顯示器,大於等於 1200px) 此時執行{}里面的樣式*/
@media (min-width: @screen-lg-min) { width:80%}
}
2、表格的常用樣式
基礎樣式.table
帶條紋區分行的表格.table-striped
帶邊框的表格.table-border
帶鼠標懸停是區分的表格.table-hover
表格行顯示的樣式,通過設置tr的class屬性值來控制,常用屬性值有.info/.success/.warning/.active/.danger