本文最初發表於博客園,並在GitHub上持續更新前端的系列文章。歡迎在GitHub上關注我,一塊兒入門和進階前端。javascript
如下是正文。css
Bootstrap 是很是流行的前端框架。特色是:靈活簡潔、代碼優雅、美觀大方。它是由Twitter的兩名工程師 Mark Otto 和 Jacob Thornton 在2011年開發的。html
簡單來講,Bootstrap 讓 Web 開發更簡單、更快捷。使用 Bootstrap 框架並不表明咱們再開發時不用本身寫 CSS 樣式,而是不用謝絕大多數常見的樣式。前端
PS:Amaze UI 這個框架其實跟 Bootstrap 很像。html5
官方網站:https://getbootstrap.com/java
中文網站:http://www.bootcss.com/jquery
V3版本:git
V4版本:github
列舉幾個用 Bootstrap 作的網站:web
目前市面上使用的最多的是 3.x.x 版本。各個版本的介紹:
2.3.2版本:
2013年以後,中止維護;
支持更普遍的瀏覽器
代碼不夠簡潔, 功能不夠多。
3.x.x 版本:
目前最新的穩定版本。
不支持 IE7 和早期的 Firefox
支持 IE8,單效果很差。
2015年8月發佈 4.0.0-alpha 的內部測試版。
版本號的普及:
alpha 版:內部測試版。α 是希臘字母的第一個,表示最先的版本,bug不少。主要是給開發和測試人員找 bug 用的。
beta 版:公開測試版。 主要是給「部落」用戶和忠實用戶測試用的。bug依然不少,但比 Alpha 版要穩定。這個階段的版本還會不斷增長新功能,若是你是發燒友,能夠下載這個版本。
rc 版:候選版本(Release Candidate)。該版本再也不增長新的功能。相似於最終發行版以前的預覽版(發行的候選版本)。此版本的發佈,預示着最終發行版即將到來。做爲普通用戶,若是很着急,也能夠下載 rc 版。
stable 版:穩定版。在開源軟件中,都有 stable版本,這個是開源軟件的最終發行版,用戶能夠放心大膽地使用。
這裏咱們以 Bootstrap V3.3.7 爲例。
進入中文官網,下載 用於生產環境的 Bootstrap
,以下圖所示:
下載以後,解壓 bootstrap-3.3.7-dist
,有三個文件夾:
將其拷貝到工程文件的lib文件夾下便可。
PS:dist
表示編譯以後的文件,這在庫文件中是很常見的。
由於 bootstrap.js依賴jQuery,因此要先引用jquery.js 而後引用bootstrap.js。
Bootstrap官網提供了基本模板,以下圖所示:
其完整版代碼 copy 以下:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <!-- 上述3個meta標籤*必須*放在最前面,任何其餘內容都*必須*跟隨其後! --> <title>個人網站</title> <!-- Bootstrap --> <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css"> <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> <!--[if lt IE 9]> <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]--> </head> <body> <h1>你好,世界!</h1> <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <!-- Include all compiled plugins (below), or include individual files as needed --> <script src="js/bootstrap.min.js"></script> </body> </html>
咱們須要對上面的代碼進行解釋。
(1)Compatible:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
解釋:設置瀏覽器的兼容模式版本。表示若是在IE瀏覽器下則使用最新的標準,渲染當前文檔。
(2)viewport 視口:
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
解釋:聲明當前網頁在移動端瀏覽器中展現的相關設置。咱們在作移動 web 開發時,就用上面這行代碼設置 viewport。
視口的做用:在移動瀏覽器中,當頁面寬度超出設備,瀏覽器內部虛擬的一個頁面容器,將頁面容器縮放到設備這麼大,而後展現。
須要注意的是:
PS:若是設置了不容許用戶縮放,那麼最小縮放和最大縮放就沒有意義了。兩者是矛盾的。
(3)條件註釋:
<!--[if lt IE 9]> <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script> <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> <![endif]-->
條件註釋的做用:當判斷條件知足時,就會執行註釋中的HTML代碼,不知足時會當作註釋忽略掉。
上方代碼的條件註釋中,引入了兩個腳本:
另外,咱們還須要引入下面這個庫:
咱們能夠把上面這三個庫文件拷貝到 lib 文件夾中(注意引用的路徑要寫正確)。
├─ Demo ·························· 項目所在目錄 └─┬─ /css/ ······················· 咱們本身的CSS文件 ├─ /font/ ······················ 使用到的字體文件 ├─ /img/ ······················· 使用到的圖片文件 ├─ /js/ ························ 本身寫的JS腳步 ├─ /lib/ ······················· 從第三方下載回來的庫【只用不改】 ├─ /favicon.ico ················ 站點圖標 └─ /index.html ················· 入口文件
見上一段的講解。引入以後,另外還須要引入 html5shiv、respond、jQuery 這三個庫文件。
咱們將 Bootstrap 的基礎模板代碼 copy到項目的index.html中,這其中就包括最前面的三個meta標籤:
<meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <!-- 上述3個meta標籤*必須*放在最前面,任何其餘內容都*必須*跟隨其後! -->
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<!-- 引入 Bootstrap 的核心樣式文件(必須) --> <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css"> <!-- 引入咱們本身寫的 css 樣式文件--> <link rel="stylesheet" href="css/my.css"> ... <script src="lib/jquery/jquery.js"></script> <script src="lib/bootstrap/js/bootstrap.js"></script> <script src="js/my.js"></script>
注意,先引入第三方的文件,再引入咱們本身寫的文件。
在咱們默認的樣式表中將默認字體設置爲:
body{ font-family: "Helvetica Neue", Helvetica, Microsoft Yahei, Hiragino Sans GB, WenQuanYi Micro Hei, sans-serif; }
先劃分好頁面中的大容器,而後在具體看每個容器中單獨的狀況。
完整代碼以下:
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <title>個人網站</title> <!--建議:第三方引用的css庫放在上面,咱們本身寫的文件,都放在下面--> <!-- 引入 Bootstrap 的核心樣式文件(必須) --> <link rel="stylesheet" href="lib/bootstrap/css/bootstrap.css"> <!-- 引入咱們本身寫的 css 樣式文件--> <link rel="stylesheet" href="css/main.css"> <link rel="shortcut icon" type="image/x-icon" href="favicon.ico"> <!--[if lt IE 9]> <script src="lib/html5shiv/html5shiv.min.js"></script> <script src="lib/respond/respond.min.js"></script> <![endif]--> </head> <body> <!-- 頭部區域 --> <header id="header"> </header> <!-- /頭部區域 --> <!-- 廣告輪播 --> <section id="main_ad"></section> <!-- /廣告輪播 --> <!-- 特點介紹 --> <section></section> <!-- /特點介紹 --> <!-- 當即預定 --> <section></section> <!-- /當即預定 --> <!-- 產品推薦 --> <section></section> <!-- /產品推薦 --> <!-- 新聞列表 --> <section></section> <!-- /新聞列表 --> <!-- 合做夥伴 --> <section></section> <!-- /合做夥伴 --> <!-- 腳註區域 --> <footer></footer> <!-- /腳註區域 --> <script src="lib/jquery/jquery.js"></script> <script src="lib/bootstrap/js/bootstrap.js"></script> <script src="js/main.js"></script> </body> </html>
全局 CSS 樣式在官網有介紹:
若是須要哪一個樣式,直接根據文檔的指引,在相應的元素里加指定的類名便可。
咱們選部分重要的來說一下。
截圖以下:
做用:用於定義一個固定寬度且居中的版心。只不過,這個版心的寬度具備響應式的效果。
也就是說,在 Bootstrap 中,咱們通常用 .container 類來表示版心。
格式舉例:
<div class="topbar"> <div class="container"> <!-- 此處的代碼會顯示在一個固定寬度且居中的容器中 該容器的寬度會跟隨屏幕的變化而變化 --> </div> </div>
這個 container 類咱們本身其實也能夠寫,經過媒體查詢便可實現。
柵格系統最主要的操做是:利用 css 的響應式去作一套行列布局的預置樣式。
柵格參數以下:
咱們尤爲要記住各個屏幕的尺寸和類前綴。
一個按鈕稱之爲樣式;兩個按鈕在一塊兒,就能夠稱之爲組件。
組件在官網有介紹:
咱們如今須要關注的不是組件怎麼用,而是裏面有哪些組件,避免重複造輪子:別人已經作得很好了,不須要咱們再重複。
JS 組件在官網有介紹:
這裏麪包含了不少帶交互的組件。好比輪播圖:
空結構的工程文件的下載地址:(lib文件夾裏包含了各類庫和 Bootstrap 中文文檔)
仍是那句話:若是須要哪一個樣式,直接根據文檔的指引,在相應的元素里加指定的類名便可。
想學習代碼以外的軟技能?不妨關注個人微信公衆號:生命團隊(id:vitateam
)。
掃一掃,你將發現另外一個全新的世界,而這將是一場美麗的意外: