1. 程式人生 > 其它 >前端知識-07-Bootstrap框架

前端知識-07-Bootstrap框架

Bootstrap介紹

Bootstrap是Twitter開源的基於HTML、CSS、JavaScript的前端框架。

它是為實現快速開發Web應用程式而設計的一套前端工具包。

它支援響應式佈局,並且在V3版本之後堅持移動裝置優先。

為什麼要使用Bootstrap?

在Bootstrap出現之前:

命名:重複、複雜、無意義(想個名字費勁)

樣式:重複、冗餘、不規範、不和諧

頁面:錯亂、不規範、不和諧

在使用Bootstrap之後: 各種命名都統一併且規範化。 頁面風格統一,畫面和諧。

Bootstrap下載

官方地址:https://getbootstrap.com

中文地址:http://www.bootcss.com/

我們使用V3版本的Bootstrap,我們下載的是用於生產環境的Bootstrap。

Bootstrap環境搭建

目錄結構:

bootstrap-3.3.7-dist/
├── css  // CSS檔案
│   ├── bootstrap-theme.css  // Bootstrap主題樣式檔案
│   ├── bootstrap-theme.css.map
│   ├── bootstrap-theme.min.css  // 主題相關樣式壓縮檔案
│   ├── bootstrap-theme.min.css.map
│   ├── bootstrap.css
│   ├── bootstrap.css.map
│   ├── bootstrap.min.css  // 核心CSS樣式壓縮檔案
│   └── bootstrap.min.css.map
├── fonts  // 字型檔案
│   ├── glyphicons-halflings-regular.eot
│   ├── glyphicons-halflings-regular.svg
│   ├── glyphicons-halflings-regular.ttf
│   ├── glyphicons-halflings-regular.woff
│   └── glyphicons-halflings-regular.woff2
└── js  // JS檔案
    ├── bootstrap.js
    ├── bootstrap.min.js  // 核心JS壓縮檔案
    └── npm.js

處理依賴

由於Bootstrap的某些元件依賴於jQuery,所以請確保下載對應版本的jQuery檔案,來保證Bootstrap相關元件執行正常。

Bootstrap全域性樣式

排版、按鈕、表格、表單、圖片等我們常用的HTML元素,Bootstrap中都提供了全域性樣式。

我們只要在基本的HTML元素上通過設定class就能夠應用上Bootstrap的樣式,從而使我們的頁面更美觀和諧。

標題相關

標題

<h1>一級標題36px</h1>
<h2>二級標題30px</h2>
<h3>三級標題24px</h3>
<h4>四級標題18px</h4>
<h5>五級標題14px</h5>
<h6>六級標題12px</h6>
<!--除了使用h標籤,Bootstrap內建了相應的全域性樣式-->
<!--內聯標籤應用標題樣式-->
<span class="h1">一級標題36px</span>
<span class="h2">二級標題30px</span>
<span class="h3">三級標題24px</span>
<span class="h4">四級標題18px</span>
<span class="h5">五級標題14px</span>
<span class="h6">六級標題12px</span>

副標題

<!--一級標題中嵌入小標題-->
<h1>一級標題<small>小標題</small></h1>

文字對齊

<!--文字對齊-->
<p class="text-left">文字左對齊</p>
<p class="text-center">文字居中</p>
<p class="text-right">文字右對齊</p>

文字大小寫

<!--大小寫-->
<p class="text-lowercase">Lowercased text.</p>
<p class="text-uppercase">Uppercased text.</p>
<p class="text-capitalize">Capitalized text.</p>

表格

Class 描述
.table-striped 條紋狀表格
.table-bordered 帶邊框的表格
.table-hover 滑鼠懸停變色的表格
.table-condensed 緊縮型表格
.table-responsive 響應式表格

狀態類

Class 描述
.active 滑鼠懸停在行或單元格上時所設定的顏色
.success 標識成功或積極的動作
.info 標識普通的提示資訊或動作
.warning 標識警告或需要使用者注意
.danger 標識危險或潛在的帶來負面影響的動作

表單

內聯表單

表單狀態

帶圖示的表單

按鈕

<a class="btn btn-default" href="#" role="button">Link</a>
<button class="btn btn-default" type="submit">Button</button>
<input class="btn btn-default" type="button" value="Input">
<input class="btn btn-default" type="submit" value="Submit">

按鈕樣式

<!-- Standard button -->
<button type="button" class="btn btn-default">(預設樣式)Default</button>
<!-- Provides extra visual weight and identifies the primary action in a set of buttons -->
<button type="button" class="btn btn-primary">(首選項)Primary</button>
<!-- Indicates a successful or positive action -->
<button type="button" class="btn btn-success">(成功)Success</button>
<!-- Contextual button for informational alert messages -->
<button type="button" class="btn btn-info">(一般資訊)Info</button>
<!-- Indicates caution should be taken with this action -->
<button type="button" class="btn btn-warning">(警告)Warning</button>
<!-- Indicates a dangerous or potentially negative action -->
<button type="button" class="btn btn-danger">(危險)Danger</button>
<!-- Deemphasize a button by making it look like a link while maintaining button behavior -->
<button type="button" class="btn btn-link">(連結)Link</button>

按鈕大小

<p>
  <button type="button" class="btn btn-primary btn-lg">(大按鈕)Large button</button>
  <button type="button" class="btn btn-default btn-lg">(大按鈕)Large button</button>
</p>
<p>
  <button type="button" class="btn btn-primary">(預設尺寸)Default button</button>
  <button type="button" class="btn btn-default">(預設尺寸)Default button</button>
</p>
<p>
  <button type="button" class="btn btn-primary btn-sm">(小按鈕)Small button</button>
  <button type="button" class="btn btn-default btn-sm">(小按鈕)Small button</button>
</p>
<p>
  <button type="button" class="btn btn-primary btn-xs">(超小尺寸)Extra small button</button>
  <button type="button" class="btn btn-default btn-xs">(超小尺寸)Extra small button</button>
</p>

圖片

<img src="..." class="img-responsive" alt="Responsive image">

圖片形狀

<img src="..." alt="..." class="img-rounded">
<img src="..." alt="..." class="img-circle">
<img src="..." alt="..." class="img-thumbnail">

輔助類

文字顏色

<p class="text-muted">...</p>
<p class="text-primary">...</p>
<p class="text-success">...</p>
<p class="text-info">...</p>
<p class="text-warning">...</p>
<p class="text-danger">...</p>

背景顏色

<p class="bg-primary">...</p>
<p class="bg-success">...</p>
<p class="bg-info">...</p>
<p class="bg-warning">...</p>
<p class="bg-danger">...</p>

關閉按鈕

<button type="button" class="close" aria-label="Close"><span aria-hidden="true">&times;</span></button>

下拉三角

<span class="caret"></span>

快速浮動

<div class="pull-left">...</div>
<div class="pull-right">...</div>

內容塊居中

<div class="center-block">...</div>

清除浮動

<!-- Usage as a class -->
<div class="clearfix">...</div>

顯示與隱藏

<div class="show">...</div>
<div class="hidden">...</div>

常用Bootstrap元件

  1. 字型圖示
  2. 下拉選單
  3. 按鈕組
  4. 輸入框俎
  5. 導航
  6. 分頁
  7. 標籤和徽章
  8. 頁頭
  9. 縮率圖
  10. 進度條

模擬滾動的進度條:

var $d1 = $("#d1");
var width = 0;
var theID = setInterval(setValue, 200);

function setValue() {
  if (width === 100) {
    clearInterval(theID);
  } else {
    width++;
    $d1.css("width", width+"%").text(width+"%");
  }
}

響應式開發

為什麼要進行響應式開發?

隨著移動裝置的流行,網頁設計必須要考慮到移動端的設計。同一個網站為了相容PC端和移動端顯示,就需要進行響應式開發。

什麼是響應式?

利用媒體查詢,讓同一個網站相容不同的終端(PC端、移動端)呈現不同的頁面佈局。

用到的技術:

CSS3@media查詢

用於查詢裝置是否符合某一特定條件,這些特定條件包括螢幕尺寸、是否可觸控、螢幕精度、橫屏豎屏等資訊。

常見屬性:

  • device-width, device-height 螢幕寬、高
  • width,height 渲染視窗寬、高
  • orientation 裝置方向
  • resolution 裝置解析度

語法:

@media mediatype and|not|only (media feature) {
    CSS-Code;
}

不同的媒體使用不同的stylesheet

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">

viewport

手機瀏覽器是把頁面放在一個虛擬的"視窗"(viewport)中,通常這個虛擬的"視窗"(viewport)比螢幕寬,這樣就不用把每個網頁擠到很小的視窗中(這樣會破壞沒有針對手機瀏覽器優化的網頁的佈局),使用者可以通過平移和縮放來看網頁的不同部分。

設定viewport

一個常用的針對移動網頁優化過的頁面的 viewport meta 標籤大致如下:

<meta name=”viewport” content=”width=device-width, initial-scale=1, maximum-scale=1″>
  • width:控制 viewport 的大小,可以指定的一個值,如果 600,或者特殊的值,如 device-width 為裝置的寬度(單位為縮放為 100% 時的 CSS 的畫素)。
  • height:和 width 相對應,指定高度。
  • initial-scale:初始縮放比例,也即是當頁面第一次 load 的時候縮放比例。
  • maximum-scale:允許使用者縮放到的最大比例。
  • minimum-scale:允許使用者縮放到的最小比例。
  • user-scalable:使用者是否可以手動縮放。

Bootstrap的柵格系統

  • container
  • row
  • column

注意事項: 使用Bootstrap的時候不要讓自己的名字與Bootstrap的類名衝突。

JavaScript外掛

常用的Bootstrap自帶外掛

其他常用外掛

Bootstrap例項精選:

  • 封面圖
  • Carousel
  • 部落格頁面
  • 控制檯
  • 登入頁
  • Offcanvas

課後習題

  • 後臺管理頁面(修改Dashbord)
  • 常用元件練習