01_Bootstrap

簡介

什么是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

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;
}

按鈕樣式生成

.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到底是啥
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末凑阶,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子速勇,更是在濱河造成了極大的恐慌,老刑警劉巖坎拐,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件烦磁,死亡現(xiàn)場離奇詭異养匈,居然都是意外死亡,警方通過查閱死者的電腦和手機都伪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門呕乎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人陨晶,你說我怎么就攤上這事猬仁。” “怎么了先誉?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵湿刽,是天一觀的道長。 經(jīng)常有香客問我褐耳,道長诈闺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任铃芦,我火速辦了婚禮雅镊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刃滓。我一直安慰自己仁烹,他們只是感情好,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布咧虎。 她就那樣靜靜地躺著卓缰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪老客。 梳的紋絲不亂的頭發(fā)上僚饭,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天,我揣著相機與錄音胧砰,去河邊找鬼鳍鸵。 笑死,一個胖子當著我的面吹牛尉间,可吹牛的內(nèi)容都是我干的偿乖。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼哲嘲,長吁一口氣:“原來是場噩夢啊……” “哼贪薪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起眠副,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤画切,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后囱怕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霍弹,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡毫别,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了典格。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岛宦。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖耍缴,靈堂內(nèi)的尸體忽然破棺而出砾肺,到底是詐尸還是另有隱情,我是刑警寧澤防嗡,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布变汪,位于F島的核電站,受9級特大地震影響本鸣,放射性物質(zhì)發(fā)生泄漏疫衩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一荣德、第九天 我趴在偏房一處隱蔽的房頂上張望闷煤。 院中可真熱鬧,春花似錦涮瞻、人聲如沸鲤拿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽近顷。三九已至,卻和暖如春宁否,著一層夾襖步出監(jiān)牢的瞬間窒升,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工慕匠, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留饱须,地道東北人。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓台谊,卻偏偏與公主長得像蓉媳,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子锅铅,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 一酪呻、什么是Bootstrap? 框架:庫 lib library jQuery作為一個框架來講盐须,提供一套比較便捷的...
    EndEvent閱讀 522評論 0 3
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案玩荠? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,748評論 1 92
  • Bootstrap是什么? 一套易用、優(yōu)雅阶冈、靈活屉凯、可擴展的前端工具集--BootStrap。GitHub上介紹 的...
    凜0_0閱讀 10,869評論 3 184
  • 開篇廢話是一種情懷 上一篇說到Less預處理語言,這節(jié)就著重講下Bootstrap框架,這款框架應該是現(xiàn)在前端人手...
    西巴擼閱讀 747評論 1 4
  • 第2章 Bootstrap 網(wǎng)格系統(tǒng) 在這一章眼溶,我們將討論Bootstrap一個最重要的功能:網(wǎng)格系統(tǒng)。我們將學會...
    海上名月閱讀 863評論 0 7