一:Bootstrap簡介
Boostrap是一個非常受歡迎的前端開發框架,該框架極大的提高前端團隊的開發效率。 Bootstrap對常見的CSS佈局組件和JavaScript插件進行了完整的封裝,使開發人員可以輕鬆使用。 使用Bootstrap可以快速製作精美的響應式頁面,並且兼容移動端。
二:Bootstrap特性
提供一套完整的CSS插件豐富的預定義樣式表一組基於jQuery的JS插件表靈活的響應式刪格系統移動先行基於Less和Sass開發。
三:使用Bootstrap
1. 第一步:
到http://www.bootcss.com/下載最新的bootstrap。 解壓後有三個文件夾,分別放置css,js和字體。 CSS和JavaScript文件分別有一個壓縮版,可以根據需要選擇一個版本。開發時使用未壓縮版,在發佈時使用壓縮版本。
2.固定模板代碼展示
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><!-- IE=edge告訴IE使用最新的引擎渲染網頁,chrome=1則可以激活Chrome Frame --><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 上述3個meta標籤*必須*放在最前面,任何其他內容都*必須*跟隨其後! --><title>Bootstrap模板樣式</title><!-- 引入Bootstrap --><link href="css/bootstrap.min.css" rel="stylesheet"><!-- 引入HTML5框架和respond.js支持IE8和IE9 ,IE 8 需要Respond.js 配合才能實現對媒體查詢的支持。 Respond.js 不能再路徑file:// 下運行--><!-- [if lt IE 9]表示在IE9以下的瀏覽器生效--><!--[if lt IE 9]> <script src="//cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script><script src="//cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script><![endif]--> </head><body><h1>你好,世界! </h1><!--在底部引用jquery插件用於實現bootstrap動態效果--><script src="//cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script><!-- 引入bootsrtap腳本--><script src="js/bootstrap.min.js"></script></body></html>
3.基本用法:
3.1整體框架-12柵格系統
bootstrap的核心是12柵格系統。 12柵格系統就是把網頁的內容區域按照寬度平分為12份,網頁開發人員可以自由按份組合,方便網頁的佈局,使排版看起來整齊規範。
bootstarp提供了一個名為container的樣式容器.container是一個自動居中,高度自適應的樣式。用.container作為網頁內容最外層的div樣式,可以輕鬆的實現12柵格的網頁佈局。 並且,這種12柵格系統是根據屏幕大小自適應的,.container會自動根據屏幕大小調整總寬度和柵格的平均寬度。
col-lg-n 最大列寬95px 在>=1200px像素的情況下將.container12等分每份寬度95px 其餘情況寬度為100%
col-md-n 最大寬度78px; 在>=992px像素的情況下將.container12等分其餘情況100%
col-sm-n 最大列寬60px 在>=768px像素的情況下將.container12等分其餘情況100%
col-xs-n 列寬根據視口大小12等分在任何尺寸的屏幕下都將.container 12等分
3.2基礎樣式
(1)Bootstrap的h1-h6樣式取消了加粗,重新定義了上下外邊距h1-h3 margin-top:20px; margin-bottom-10px; H3-h6 margin-top:10px; margin-bottom-10px;
(2)定義了4個對齊方式的樣式,分別是.text-left, .text-center, .text-right,.text-justify .text-justify 英文字母的兩端對齊
(3)Bootstrap提供了五種默認的顏色樣式,-primary 重點藍, -success成功綠,-info信息藍-warning 警告橙,-danger危險紅
3.3btn組件+btn-group
<button type=”button” class=”btn btn-primary”>重點按鈕</button> alert組件<div class=”alert” class=”alert alert-danger”>危險警告</div>
一般的組件都有四種尺寸,超小xs, 小型sm, 普通, 大型lg 使用方法是組件名-尺寸<button type=”button” class=”btn btn-lg”>超大按鈕</button> 同一組件不同類型的按鈕可以結合使用
<button type=”button” class=”btn btn-primary btn-lg”>超大重點按鈕</button><!--btn-group--><div><button>首頁</button><button>第二頁</button><button>第三頁</button><button>末頁</button><div><button type="button" data-toggle="dropdown">產品列表<span></span></button><ul><li>聯想</li><li>華碩</li><li>蘋果</li></ul></div></div>
3.4table表格樣式:
給table元素添加一個div父元素,給這個div添加class=”table-responsive” 創建相應式表格,當視口像素小於768px時候,會出現水平滾動條
<!--table ,table-striped列表之間有間隔色,table-responsive表格自適應--><div><table><tr><td>1</td><td>1</td><td>1</td></tr><tr><td>2</td><td>2</td><td>2</td></tr><tr><td>3</td><td>3</td><td>3</td></tr></table></div>
3.5Badge徽章
<!--Badges徽章--><br/><a href="#" >特別關心<span>42</span></a><br/>
3.6導航條
(1)膠囊式導航條
<ul ><li><a href="#">動態<span>42</span></a></li><li><a href="#">Profile</a></li><li><a href="#">私信<span>3</span></a></li></ul>
(2)標籤式導航條
<!--標籤式導航菜單--><ul><li><a href="#news1" data-toggle="tab">公司新聞</a></li><li><a href="#news2" data-toggle="tab" >行業新聞</a></li><li><a href="#news3" data-toggle="tab">通知公告</a></li></ul><div><div id="news1"><ul><li>公司新聞</li><li>公司新聞</li><li>公司新聞</li></ul></div><div id="news2"><ul><li>行業新聞</li><li>行業新聞</li><li>行業新聞</li></ul></div><div id="news3"><ul><li>通知公告</li><li>通知公告</li><li>通知公告</li></ul></div></div>
3.7 input-group
<!--input+button組合--><div><input type="text"><span><button>搜索</button></span></div>
3.8輪播
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"><meta name="viewport" content="width=device-width, initial-scale=1"><title>Bootstrap模板樣式</title><link href="../css/bootstrap.min.css" rel="stylesheet"><style>body{background: #eee}.item{position: relative; height: 400px}.item img{ position: relative; width: 100%; height: 400px}.item p{position: absolute; top:40%; width: 100%; color: #fff; }.item h1{position: absolute; top:20%; width: 100%; color: #fff; text-align: center}@media (max-width: 768px) {.slide{ width: 100%}}</style><!--[if lt IE 9]><script src="../js/html5shiv.min.js"></script><script src="../js/respond.min.js"></script><![endif]--><script src="../js/jquery.min.js"></script><script src="../js/bootstrap.min.js"></script></head><body><div><div id="myCarousel" data-ride="carousel" ><!--幻燈片導航--><ol><li data-target="#myCarousel" data-slide-to="0"></li><li data-target="#myCarousel" data-slide-to="1"></li><li data-target="#myCarousel" data-slide-to="2"></li></ol><div style="height: 400px"><!--第一張幻燈片--><div style="height: 400px" ><img data-holder-rendered="true" src="../images/圖標1.png" ><h1>標題內容</h1><p>段落內容</p><!--幻燈片標題--><div>標題1</div></div><!--第二張幻燈片--><div ><img data-holder-rendered="true" src="../images/圖標2.png"><div>標題2</div></div><!--第三張幻燈片--><div><img data-holder-rendered="true" src="../images/圖標3.png"><div>標題3</div></div></div><!--左右導航--><a href="#myCarousel" data-slide="prev"><span aria-hidden="true"></span><span>Previous</span></a><a href="#myCarousel" data-slide="next"><span aria-hidden="true"></span><span>Next</span></a></div></div><script>$(function(){$('#myCarousel').on('slide.bs.carousel', function () {// alert("回調函數");});});</script></body></html>3.9面板panel-group
<!DOCTYPE html><html><head><meta charset="utf-8"><title>Bootstrap 實例- 標籤頁(Tab)插件</title><link rel="stylesheet" href="../css/bootstrap.min.css"><script src="../js/jquery.min.js"></script><script src="../js/bootstrap.min.js"></script></head><body><div id="panel-group"><!--面板內容關閉--><div><div><h4><a data-toggle="collapse" data-parent="#panel-group" href="#collapseOne">面板標題</a></h4></div><div id="collapseOne"><div>面板內容</div></div></div><!--面板內容打開--><div><div><h4><a data-toggle="collapse" data-parent="#panel-group" href="#collapseTwo">面板標題</a></h4></div><div id="collapseTwo"><div>面板內容</div></div></div></div></body>
3.10媒體查詢
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/><title>媒體查詢</title><style>div {width: 100%;height: 200px;background-color: red;}/*當適口最大寬度為980px,也就是適口<=980px 內部的樣式生效*/@media (max-width: 320px) {div {font-size: 10px;background: yellow;}}</style></head><body><div>媒體查詢</div></body><script>window.onresize = function (){var mydiv = document.getElementsByTagName("div")[0];mydiv.innerHTML = document.documentElement.clientWidth;}</script></html>四:注意事項
1.container,col - - (柵格),需要用單獨的div包裹,之後再裡面定義其他的內容。
2.如果要對元素設置媒體查詢不能定義的class或id不能和定義col - - (柵格)的class 或id寫到一個div裡,
medio為定義媒體查詢的class錯誤的寫法<div >aa</div>
正確的寫法是
<div> <div >aa</div> </div>
3.如果用container實現高度自適應時,就不能給元素添加高度,應對其父元素設置overflow-hidden。
4.當給元素設置Position定位之後,元素的寬度為0,如果想讓元素居中需要對其添加width:100%;text-align:center;
5.再使用input標籤時,如果對其父類定義了col - - (柵格),可以對input添加form-control設置input的大小和父類一樣大。