簡介
什么是Bootstrap?
框架:庫 lib library
jQuery作為一個框架來講飒硅,提供一套比較便捷的操作DOM的方式
把大家都需要的功能預先寫好到一些文件 這就是一個框架
Bootstrap 讓我們的 Web 開發(fā)更簡單嚎于,更快捷;
注意是 Bootstrap 不是 BootStrap配深!這是一個詞,不是合成詞嫁盲,其含義為:n. 引導指令,引導程序
Bootstrap 是當下最流行的前端框架(界面工具集)篓叶;
特點就是靈活簡潔,代碼優(yōu)雅羞秤,美觀大方缸托;
其目的是為了讓 Web 開發(fā)更敏捷;
是 Twitter 公司的兩名前端工程師 Mark Otto 和 Jacob Thornton 在 2011 - 年發(fā)起的瘾蛋,并利用業(yè)余時間完成第一個版本的開發(fā)俐镐;
為什么使用Bootstarp?
- 生態(tài)圈火哺哼,不斷地更新迭代佩抹;
- 提供一套美觀大方地界面組件叼风;
- 提供一套優(yōu)雅的 HTML+CSS 編碼規(guī)范;
- 讓我們的 Web 開發(fā)更簡單棍苹,更快捷无宿;
注意:
使用 Bootstrap 并不代表不用寫 CSS 樣式,而是不用寫絕大多數(shù)大家都會用到的樣式
準備
下載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快捷語法:meta:compat
-
<meta http-equiv="X-UA-Compatible" content="IE=7">
-
<meta http-equiv="X-UA-Compatible" content="IE=edge">
viewport視口
聲明當前網(wǎng)頁在移動端瀏覽器中展示的相關(guān)設(shè)置
element快捷語法:meta:vp
<meta name="viewport" content="width=device-width, initial-scale=1">
- 視口的作用:在移動瀏覽器中廊勃,當頁面寬度超出設(shè)備懈贺,瀏覽器內(nèi)部虛擬的一個頁面容器,將頁面容器縮放到設(shè)備這么大坡垫,然后展示
- 目前大多數(shù)手機瀏覽器的視口(承載頁面的容器)寬度都是980梭灿;
- 視口的寬度可以通過meta標簽設(shè)置
- 此屬性為移動端頁面視口設(shè)置,當前值表示在移動端頁面的寬度為設(shè)備的寬度冰悠,并且不縮放(縮放級別為1)
-
width
:視口的寬度 -
initial-scale
:初始化縮放 -
user-scalable
:是否允許用戶自行縮放(值:yes/no; 1/0) -
minimum-scale
:最小縮放堡妒,一般設(shè)置了用戶不允許縮放,就沒必要設(shè)置最小和最大縮放 -
maximum-scale
:最大縮放
-
條件注釋
- 條件注釋的作用就是當判斷條件滿足時溉卓,就會執(zhí)行注釋中的HTML代碼皮迟,不滿足時會當做注釋忽略掉
<!--[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
讓瀏覽器可以識別HTML5的新標簽 -
respond.js
讓低版本瀏覽器可以使用CSS3的媒體查詢 - 通過
file://
的形式訪問頁面,respond.js
不生效
基礎(chǔ)的Bootstrap模板
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<!-- 默認用IE最新瀏覽器引擎渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- 聲明當前網(wǎng)頁在移動端瀏覽器中展示的相關(guān)設(shè)置 -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- 上述3個meta標簽*必須*放在最前面桑寨,任何其他內(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>
第三方依賴
jQuery
Bootstrap框架中的所有JS組件都依賴于jQuery實現(xiàn)html5shiv
讓低版本瀏覽器可以識別HTML5的新標簽爆阶,如header、footer沙咏、section等respond
讓低版本瀏覽器可以支持CSS媒體查詢功能
注:建議以后在HTML中將腳步的引入放到頁面最底下
.container
Bootstrap中響應式容器
會根據(jù)屏幕寬度改變寬度辨图,有三個等級:1140px>970px>740px。當屏幕小于740px時肢藐,屏幕寬度多大.container
盒子寬度就有多大故河。
mediaquery
@media (判斷條件(針對于當前窗口的判斷)){
/*這里的代碼只有當判斷條件滿足時才會執(zhí)行*/
}
@media (min-width: 768px) and (max-width: 992px) {
/*這里的代碼只有當(min-width: 1280px)滿足時才會執(zhí)行*/
.container {
width: 750px;
}
}
- 當使用min-width作為判斷條件一定要從小到大,其原因是CSS從上往下執(zhí)行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>媒體查詢</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
.container{
height: 1000px;
background-color: red;
}
.container{
width: 100%;
margin: 0 auto;
}
/*媒體查詢 當使用min-width作為判斷條件的時候吆豹,一定要從小到大的來寫鱼的,原因是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中定義了一套響應式的網(wǎng)格系統(tǒng),
- 其使用方式就是將一個容器劃分成12列痘煤,
- 然后通過col-xx-xx的類名控制每一列的占比
.row類
- 因為每一個列默認有一個15px的左右外邊距
- row類的一個作用就是通過左右-15px屏蔽掉這個邊距
<div class="container">
<div class="row"></div>
</div>
.col-**-*類
- col-xs-[列數(shù)]:在超小屏幕下展示幾份
- col-sm-[列數(shù)]:在小屏幕下展示幾份
- col-md-[列數(shù)]:在中等屏幕下展示幾份
- col-lg-[列數(shù)]:在大屏幕下展示幾份
- xs : 超小屏幕 手機 (<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)部內(nèi)容居中顯示
hover圖片展示
.mobile-link:hover > img {
display: block;
}
按鈕樣式生成
- http://blog.koalite.com/bbg/
- 可以通過界面生成一個新的按鈕樣式
.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:最后一個xx是決定顯示時的display到底是啥