簡(jiǎn)介
什么是Bootstrap?
框架:庫(kù) lib library
jQuery作為一個(gè)框架來(lái)講,提供一套比較便捷的操作DOM的方式
把大家都需要的功能預(yù)先寫(xiě)好到一些文件 這就是一個(gè)框架
Bootstrap 讓我們的 Web 開(kāi)發(fā)更簡(jiǎn)單,更快捷;
注意是 Bootstrap 不是 BootStrap!這是一個(gè)詞,不是合成詞,其含義為:n. 引導(dǎo)指令,引導(dǎo)程序
Bootstrap 是當(dāng)下最流行的前端框架(界面工具集);
特點(diǎn)就是靈活簡(jiǎn)潔,代碼優(yōu)雅,美觀大方;
其目的是為了讓 Web 開(kāi)發(fā)更敏捷;
是 Twitter 公司的兩名前端工程師 Mark Otto 和 Jacob Thornton 在 2011 - 年發(fā)起的,并利用業(yè)余時(shí)間完成第一個(gè)版本的開(kāi)發(fā);
為什么使用Bootstarp?
- 生態(tài)圈火,不斷地更新迭代;
- 提供一套美觀大方地界面組件;
- 提供一套優(yōu)雅的 HTML+CSS 編碼規(guī)范;
- 讓我們的 Web 開(kāi)發(fā)更簡(jiǎn)單,更快捷;
注意:
使用 Bootstrap 并不代表不用寫(xiě) CSS 樣式,而是不用寫(xiě)絕大多數(shù)大家都會(huì)用到的樣式
準(zhǔn)備
下載Bootstrap
- https://github.com/twbs/bootstrap/releases/download/v3.3.6/bootstrap-3.3.6-dist.zip
- https://github.com/twbs/bootstrap/releases/download/v4.0.0-alpha.2/bootstrap-4.0.0-alpha.2-dist.zip
Compatible
設(shè)置IE瀏覽器的兼容模式版本
<meta http-equiv="X-UA-Compatible" content="IE=7">
element快捷語(yǔ)法:meta:compat
-
<meta http-equiv="X-UA-Compatible" content="IE=7">
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
viewport視口
聲明當(dāng)前網(wǎng)頁(yè)在移動(dòng)端瀏覽器中展示的相關(guān)設(shè)置
element快捷語(yǔ)法:meta:vp
<meta name="viewport" content="width=device-width, initial-scale=1">
- 視口的作用:在移動(dòng)瀏覽器中,當(dāng)頁(yè)面寬度超出設(shè)備,瀏覽器內(nèi)部虛擬的一個(gè)頁(yè)面容器,將頁(yè)面容器縮放到設(shè)備這么大,然后展示
- 目前大多數(shù)手機(jī)瀏覽器的視口(承載頁(yè)面的容器)寬度都是980;
- 視口的寬度可以通過(guò)meta標(biāo)簽設(shè)置
- 此屬性為移動(dòng)端頁(yè)面視口設(shè)置,當(dāng)前值表示在移動(dòng)端頁(yè)面的寬度為設(shè)備的寬度,并且不縮放(縮放級(jí)別為1)
-
width:視口的寬度 -
initial-scale:初始化縮放 -
user-scalable:是否允許用戶自行縮放(值:yes/no; 1/0) -
minimum-scale:最小縮放,一般設(shè)置了用戶不允許縮放,就沒(méi)必要設(shè)置最小和最大縮放 -
maximum-scale:最大縮放
-
條件注釋
- 條件注釋的作用就是當(dāng)判斷條件滿足時(shí),就會(huì)執(zhí)行注釋中的HTML代碼,不滿足時(shí)會(huì)當(dāng)做注釋忽略掉
<!--[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]-->
-
html5shiv.js讓瀏覽器可以識(shí)別HTML5的新標(biāo)簽 -
respond.js讓低版本瀏覽器可以使用CSS3的媒體查詢(xún) - 通過(guò)
file://的形式訪問(wèn)頁(yè)面,respond.js不生效
基礎(chǔ)的Bootstrap模板
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<!-- 默認(rèn)用IE最新瀏覽器引擎渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 聲明當(dāng)前網(wǎng)頁(yè)在移動(dòng)端瀏覽器中展示的相關(guān)設(shè)置 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3個(gè)meta標(biāo)簽*必須*放在最前面,任何其他內(nèi)容都*必須*跟隨其后! -->
<title>Document</title>
<!-- Bootstrap -->
<link rel="stylesheet" href="lib/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet" href="css/main.css">
<!--[if lt IE 9]>
<script src="lib/html5shiv/html5shiv.min.js"></script>
<script src="lib/respond/respond.min.js"></script>
<![endif]-->
</head>
<body>
<h1>你好,世界!</h1>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="lib/jquery/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="lib/bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
第三方依賴(lài)
jQuery
Bootstrap框架中的所有JS組件都依賴(lài)于jQuery實(shí)現(xiàn)html5shiv
讓低版本瀏覽器可以識(shí)別HTML5的新標(biāo)簽,如header、footer、section等respond
讓低版本瀏覽器可以支持CSS媒體查詢(xún)功能
注:建議以后在HTML中將腳步的引入放到頁(yè)面最底下
.container
Bootstrap中響應(yīng)式容器
會(huì)根據(jù)屏幕寬度改變寬度,有三個(gè)等級(jí):1140px>970px>740px。當(dāng)屏幕小于740px時(shí),屏幕寬度多大.container盒子寬度就有多大。
mediaquery
@media (判斷條件(針對(duì)于當(dāng)前窗口的判斷)){
/*這里的代碼只有當(dāng)判斷條件滿足時(shí)才會(huì)執(zhí)行*/
}
@media (min-width: 768px) and (max-width: 992px) {
/*這里的代碼只有當(dāng)(min-width: 1280px)滿足時(shí)才會(huì)執(zhí)行*/
.container {
width: 750px;
}
}
- 當(dāng)使用min-width作為判斷條件一定要從小到大,其原因是CSS從上往下執(zhí)行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒體查詢(xún)</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.container{
height: 1000px;
background-color: red;
}
.container{
width: 100%;
margin: 0 auto;
}
/*媒體查詢(xún) 當(dāng)使用min-width作為判斷條件的時(shí)候,一定要從小到大的來(lái)寫(xiě),原因是CSS是從上往下執(zhí)行*/
@media (min-width: 768px) {
.container{
width: 750px;
}
}
@media (min-width: 992px) {
.container{
width: 970px;
}
}
@media (min-width: 1200px) {
.container{
width: 1170px;
}
}
@media (min-width: 1280px) {
.container{
width: 1280px;
}
}
</style>
</head>
<body>
<div class="container"></div>
</body>
</html>
柵格系統(tǒng)
- Bootstrap中定義了一套響應(yīng)式的網(wǎng)格系統(tǒng),
- 其使用方式就是將一個(gè)容器劃分成12列,
- 然后通過(guò)col-xx-xx的類(lèi)名控制每一列的占比
.row類(lèi)
- 因?yàn)槊恳粋€(gè)列默認(rèn)有一個(gè)15px的左右外邊距
- row類(lèi)的一個(gè)作用就是通過(guò)左右-15px屏蔽掉這個(gè)邊距
<div class="container">
<div class="row"></div>
</div>
.col-**-*類(lèi)
- col-xs-[列數(shù)]:在超小屏幕下展示幾份
- col-sm-[列數(shù)]:在小屏幕下展示幾份
- col-md-[列數(shù)]:在中等屏幕下展示幾份
- col-lg-[列數(shù)]:在大屏幕下展示幾份
- xs : 超小屏幕 手機(jī) (<768px)
- sm : 小屏幕 平板 (≥768px)
- md : 中等屏幕 桌面顯示器 (≥992px)
- lg : 大屏幕 大桌面顯示器 (≥1200px)
<div class="row">
<div class="col-md-2 text-center"></div>
<div class="col-md-5 text-center"></div>
<div class="col-md-2 text-center"></div>
<div class="col-md-3 text-center"></div>
</div>
此處頂部通欄已經(jīng)被劃分成四列
text-center的作用就是讓內(nèi)部?jī)?nèi)容居中顯示
hover圖片展示
.mobile-link:hover > img {
display: block;
}
按鈕樣式生成
- http://blog.koalite.com/bbg/
- 可以通過(guò)界面生成一個(gè)新的按鈕樣式
.btn-itcast {
color: #ffffff;
background-color: #E92322;
border-color: #DB3B43;
}
.btn-itcast:hover,
.btn-itcast:focus,
.btn-itcast:active,
.btn-itcast.active,
.open .dropdown-toggle.btn-itcast {
color: #ffffff;
background-color: #E92322;
border-color: #DB3B43;
}
.btn-itcast:active,
.btn-itcast.active,
.open .dropdown-toggle.btn-itcast {
background-image: none;
}
.btn-itcast.disabled,
.btn-itcast[disabled],
fieldset[disabled] .btn-itcast,
.btn-itcast.disabled:hover,
.btn-itcast[disabled]:hover,
fieldset[disabled] .btn-itcast:hover,
.btn-itcast.disabled:focus,
.btn-itcast[disabled]:focus,
fieldset[disabled] .btn-itcast:focus,
.btn-itcast.disabled:active,
.btn-itcast[disabled]:active,
fieldset[disabled] .btn-itcast:active,
.btn-itcast.disabled.active,
.btn-itcast[disabled].active,
fieldset[disabled] .btn-itcast.active {
background-color: #E92322;
border-color: #DB3B43;
}
.btn-itcast .badge {
color: #E92322;
background-color: #ffffff;
}
小屏幕隱藏
<div class="topbar hidden-xs hidden-sm"></div>
或者
<div class="topbar visible-md visible-lg"></div>
- hidden-xx : 在某種屏幕下隱藏
-
visible-xx : 在某種屏幕尺寸下顯示
- visible-xx-xx:最后一個(gè)xx是決定顯示時(shí)的display到底是啥

