BootStrap基礎(chǔ)入門

BootStrap基礎(chǔ)入門

一嘴纺、BootStrap概述

1.1什么是BootStrap

  • BootStrap冗荸,基于HTML、CSS愈涩、JavaScript的前端框架(半成品)。其預(yù)定義一套CSS樣式和與樣式對應(yīng)的jQuery代碼加矛,我們只需要提供固定HTML結(jié)構(gòu)履婉,添加固定的class樣式,就可以完成指定效果的實現(xiàn)
  • BootStrap在jQuery的基礎(chǔ)工作斟览,可以理解BootStrap就是jQuery的一個插件毁腿。
  • BootStrap使得web開發(fā)更加快捷,代碼優(yōu)雅苛茂,美觀大方已烤。
  • 由Twitter公司的設(shè)計師Mark Otto和Jacob Thornton合作開發(fā)。
  • BootStrap基礎(chǔ)入門使用的都是自帶CSS樣式妓羊,高級開發(fā)中需要使用HTML5胯究,CSS3,動態(tài)CSS語言Less進(jìn)行自定義開發(fā)躁绸。
  • 國內(nèi)一些移動開發(fā)者較為熟悉的框架裕循,如WeX5前端開源框架等,也是基于BootStrap源碼進(jìn)行性能優(yōu)化而來
  • 中文官網(wǎng):http://www.bootcss.com/

1.2什么是響應(yīng)式布局

  • 響應(yīng)式布局:一個網(wǎng)站能夠兼容多個終端(手機(jī)净刮、iPad等)剥哑,而不需要為每個終端做一個特定的版本。此概念是為解決移動互聯(lián)網(wǎng)瀏覽而誕生的淹父。
  • 響應(yīng)式布局可以為不同終端的用戶提供更加舒適的界面和更好的用戶體驗株婴,而且隨著目前大屏幕移動設(shè)備的普及,用“大勢所趨”來形容也不為過暑认。隨著越來越多的設(shè)計師采用這個技術(shù)困介,我們不僅看到很多的創(chuàng)新揪垄,還看到了一些成形的模式。
  • BootStrap就是響應(yīng)式布局最為成功的實現(xiàn)逻翁,為了兼容不同的瀏覽器采用jQuery,為了適配不同的終端采用CSS3 Media Query(媒體查詢)

二捡鱼、環(huán)境搭建

2.1下載

下載.PNG

2.2目錄結(jié)構(gòu)

目錄結(jié)構(gòu).png

2.3內(nèi)容結(jié)構(gòu)

發(fā)布版八回,及開始使用到的BootStrap內(nèi)容結(jié)構(gòu)

內(nèi)容結(jié)構(gòu).PNG
bootstrap/
├── css/
│   ├── bootstrap.css     //預(yù)定義的CSS文件
│   ├── bootstrap.css.map   //CSS與less源碼對應(yīng)文件
│   ├── bootstrap.min.css   //壓縮
│   ├── bootstrap-theme.css
│   ├── bootstrap-theme.css.map  主題文件
│   └── bootstrap-theme.min.css
├── js/
│   ├── bootstrap.js      //js
│   └── bootstrap.min.js
└── fonts/
    ├── glyphicons-halflings-regular.eot  //字體(字體圖標(biāo))
    ├── glyphicons-halflings-regular.svg
    ├── glyphicons-halflings-regular.ttf
    ├── glyphicons-halflings-regular.woff
    └── glyphicons-halflings-regular.woff2

上面展示的就是 Bootstrap 的基本文件結(jié)構(gòu):預(yù)編譯文件可以直接使用到任何 web 項目中。我們提供了編譯好的 CSS 和 JS (bootstrap.) 文件驾诈,還有經(jīng)過壓縮的 CSS 和 JS (bootstrap.min.) 文件缠诅。同時還提供了 CSS 源碼映射表 (bootstrap.*.map) ,可以在某些瀏覽器的開發(fā)工具中使用乍迄。同時還包含了來自 Glyphicons 的圖標(biāo)字體管引,在附帶的 Bootstrap 主題中使用到了這些圖標(biāo)。

三闯两、模版代碼

3.1基本模版

<!DOCTYPE html>  <!--HTML5約束(固定值)-->
<html lang="zh-CN">  <!--建議編寫褥伴,聲明語言,暫沒有發(fā)現(xiàn)用途 -->

    <head>
        <!--響應(yīng)式開發(fā)必須使用漾狼,且必須在<head>前三行 -->
        <meta charset="utf-8">
        <!--聲明文檔兼容模式重慢,表示使用IE瀏覽器的最新模式-->
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!--設(shè)置視口的寬度(值為設(shè)備的理想寬度),頁面初始縮放值<理想寬度/可見寬度>-->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- 上述3個meta標(biāo)簽*必須*放在最前面逊躁,任何其他內(nèi)容都*必須*跟隨其后似踱! -->
        <title>Bootstrap基本模板</title>

        <!-- 引入Bootstrap核心樣式文件 -->
        <!--預(yù)定義的CSS樣式-->
        <link href="../../css/bootstrap.min.css" rel="stylesheet">

        
    </head>

    <body>
        <h1>你好,世界稽煤!</h1>

        <!-- 引入jQuery核心js文件 -->
        <!--基于jQuery-->
        <script src="../../js/jquery-1.11.0.min.js"></script>
        <!-- 引入BootStrap核心js文件 -->
        <!--BootStrap類庫-->
        <script src="../../js/bootstrap.min.js"></script>
    </body>

</html>

3.2完整模版

<!DOCTYPE html>  
<html lang="zh-CN"> 

    <head>      
        <meta charset="utf-8">
        <!--聲明文檔兼容模式核芽,表示使用IE瀏覽器的最新模式-->
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!--設(shè)置視口的寬度(值為設(shè)備的理想寬度),頁面初始縮放值<理想寬度/可見寬度>-->
        <!--視口的作用:在移動瀏覽器中酵熙,當(dāng)頁面寬度超出設(shè)備轧简,瀏覽器內(nèi)部虛擬的一個頁面容器,會將頁面縮放到設(shè)備這么大來展示-->   
        <!--width   設(shè)置layout viewport  的寬度绿店,為一個正整數(shù)吉懊,或字符串"width-device"(表示采用設(shè)備的寬度)
            initial-scale   設(shè)置頁面的初始縮放值,為一個數(shù)字假勿,可以帶小數(shù)
            minimum-scale   允許用戶的最小縮放值借嗽,為一個數(shù)字,可以帶小數(shù)
            maximum-scale   允許用戶的最大縮放值转培,為一個數(shù)字恶导,可以帶小數(shù)
            height  設(shè)置layout viewport  的高度,這個屬性對我們并不重要浸须,很少使用
            user-scalable   是否允許用戶進(jìn)行縮放惨寿,值為"no"或"yes", no 代表不允許邦泄,yes代表允許
            如果設(shè)置"user-scalable=no",那么"minimum-scale"和"maximum-scale"無效
        -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!-- 上述3個meta標(biāo)簽*必須*放在最前面,任何其他內(nèi)容都*必須*跟隨其后裂垦! -->
        <title>Bootstrap完整模板</title>

        <!-- 引入Bootstrap核心樣式文件 -->
        <link href="../../css/bootstrap.min.css" rel="stylesheet">

        <!-- HTML5 Shim 和 Respond.js 用于讓 IE8 支持 HTML5元素和媒體查詢 -->
        <!-- 注意: 如果通過 file://  引入 Respond.js 文件顺囊,則該文件無法起效果,必須放置到web服務(wù)器中蕉拢,暫時不必掌握 -->
      <!--[if lt IE 9]>
         <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
         <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
      <![endif]-->
    </head>

    <body>
        <!--正文從此處開始-->
        <h1>你好特碳,世界!</h1>

        <!--前端開發(fā)建議:網(wǎng)站優(yōu)化時晕换,除了立即需要工作的js存放在head外午乓,將大部分JS文件放在頁面的末尾-->

        <!-- 引入jQuery核心js文件,必須放置在bootStrap.js前面闸准! -->
        <script src="../../js/jquery-1.11.0.min.js"></script>
        <!-- 引入BootStrap核心js文件 -->
        <script src="../../js/bootstrap.min.js"></script>
    </body>

</html>

四益愈、viewport介紹

4.1Viewport的概念

通俗的講,移動設(shè)備上的viewport就是設(shè)備的屏幕上能用來顯示我們的網(wǎng)頁的那一塊區(qū)域夷家,在具體一點蒸其,就是瀏覽器上(也可能是一個app中的webview)用來顯示網(wǎng)頁的那部分區(qū)域,但viewport又不局限于瀏覽器可視區(qū)域的大小库快,它可能比瀏覽器的可視區(qū)域要大枣接,也可能比瀏覽器的可視區(qū)域要小。在默認(rèn)情況下缺谴,一般 來講但惶,移動設(shè)備上的viewport都是要大于瀏覽器可視區(qū)域的,這是因為考慮到移動設(shè)備的分辨率相對于桌面電腦來說都比較小湿蛔,所以為了能在移動設(shè)備上正 常顯示那些傳統(tǒng)的為桌面瀏覽器設(shè)計的網(wǎng)站膀曾,移動設(shè)備上的瀏覽器都會把自己默認(rèn)的viewport設(shè)為980px或1024px(也可能是其它值,這個是由 設(shè)備自己決定的)阳啥,但帶來的后果就是瀏覽器會出現(xiàn)橫向滾動條添谊,因為瀏覽器可視區(qū)域的寬度是比這個默認(rèn)的viewport的寬度要小的。下圖列出了一些設(shè)備上瀏覽器的默認(rèn)viewport的寬度察迟。

瀏覽器.png

4.2css中的1px并不等于設(shè)備的1px

在css中我們一般使用px作為單位斩狱,在桌面瀏覽器中css的1個像素往往都是對應(yīng)著電腦屏幕的1個物理像素,這可能會造成我們的一個錯覺扎瓶,那就是css 中的像素就是設(shè)備的物理像素所踊。但實際情況卻并非如此,css中的像素只是一個抽象的單位概荷,在不同的設(shè)備或不同的環(huán)境中秕岛,css中的1px所代表的設(shè)備物理 像素是不同的。在為桌面瀏覽器設(shè)計的網(wǎng)頁中,我們無需對這個津津計較继薛,但在移動設(shè)備上修壕,必須弄明白這點。在早先的移動設(shè)備中遏考,屏幕像素密度都比較低慈鸠,如 iphone3,它的分辨率為320x480灌具,在iphone3上林束,一個css像素確實是等于一個屏幕物理像素的。后來隨著技術(shù)的發(fā)展稽亏,移動設(shè)備的屏幕像 素密度越來越高,從iphone4開始缕题,蘋果公司便推出了所謂的Retina屏截歉,分辨率提高了一倍,變成640x960烟零,但屏幕尺寸卻沒變化瘪松,這就意味著 同樣大小的屏幕上,像素卻多了一倍锨阿,這時宵睦,一個css像素是等于兩個物理像素的。其他品牌的移動設(shè)備也是這個道理墅诡。例如安卓設(shè)備根據(jù)屏幕像素密度可分為 ldpi壳嚎、mdpi、hdpi末早、xhdpi等不同的等級烟馅,分辨率也是五花八門,安卓設(shè)備上的一個css像素相當(dāng)于多少個屏幕物理像素然磷,也因設(shè)備的不同而不 同郑趁,沒有一個定論。

還有一個因素也會引起css中px的變化姿搜,那就是用戶縮放寡润。例如,當(dāng)用戶把頁面放大一倍舅柜,那么css中1px所代表的物理像素也會增加一倍梭纹;反之把頁面縮小一倍,css中1px所代表的物理像素也會減少一倍致份。

4.3利用meta標(biāo)簽對viewport進(jìn)行控制

我們在開發(fā)移動設(shè)備的網(wǎng)站時栗柒,最常見的的一個動作就是把下面這個東西復(fù)制到我們的head標(biāo)簽中:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

該meta標(biāo)簽的作用是讓當(dāng)前viewport的寬度等于設(shè)備的寬度,同時不允許用戶手動縮放。也不允許用戶縮放不同的網(wǎng)站有不同的要求瞬沦,但讓 viewport的寬度等于設(shè)備的寬度太伊,這個應(yīng)該是大家都想要的效果,如果你不這樣的設(shè)定的話逛钻,那就會使用那個比屏幕寬的默認(rèn)viewport僚焦,也就是說會出現(xiàn)橫向滾動條。

meta viewport 標(biāo)簽首先是由蘋果公司在其safari瀏覽器中引入的曙痘,目的就是解決移動設(shè)備的viewport問題芳悲。后來安卓以及各大瀏覽器廠商也都紛紛效仿,引入對meta viewport的支持边坤,事實也證明這個東西還是非常有用的名扛。

在蘋果的規(guī)范中,meta viewport 有6個屬性(暫且把content中的那些東西稱為一個個屬性和值)茧痒,如下:

meta標(biāo)簽.PNG

這些屬性可以同時使用肮韧,也可以單獨使用或混合使用,多個屬性同時使用時用逗號隔開就行了旺订。

4.4總結(jié)

  • 第一弄企,必須設(shè)置 meta viewport 標(biāo)簽

    如果不設(shè)置meta viewport標(biāo)簽,那么移動設(shè)備上瀏覽器默認(rèn)的寬度值為800px区拳,980px拘领,1024px等這些,總之是大于屏幕寬度的樱调。這里的寬度所用的單位px都是指css中的px约素,它跟代表實際屏幕物理像素的px不是一回事。

  • 第二笆凌、設(shè)置瀏覽器視口寬度為設(shè)備理想寬度

 每個移動設(shè)備瀏覽器中都有一個理想的寬度业汰,這個理想的寬度是指css中的寬度,跟設(shè)備的物理寬度沒有關(guān)系菩颖,在css中样漆,這個寬度就相當(dāng)于100%的 所代表的那個寬度。我們可以用meta標(biāo)簽把viewport的寬度設(shè)為那個理想的寬度晦闰,如果不知道這個設(shè)備的理想寬度是多少放祟,那么用devicewidth這個特殊值就行了

瀏覽器的寬度設(shè)置為設(shè)備的理想寬度:

<meta name="viewport" content="width=device-width,initial-scale=1">
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呻右,隨后出現(xiàn)的幾起案子跪妥,更是在濱河造成了極大的恐慌,老刑警劉巖声滥,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件眉撵,死亡現(xiàn)場離奇詭異侦香,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)纽疟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進(jìn)店門罐韩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人污朽,你說我怎么就攤上這事散吵。” “怎么了蟆肆?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵矾睦,是天一觀的道長。 經(jīng)常有香客問我炎功,道長枚冗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任蛇损,我火速辦了婚禮赁温,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘州藕。我一直安慰自己,他們只是感情好酝陈,可當(dāng)我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布床玻。 她就那樣靜靜地躺著,像睡著了一般沉帮。 火紅的嫁衣襯著肌膚如雪锈死。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天穆壕,我揣著相機(jī)與錄音待牵,去河邊找鬼。 笑死喇勋,一個胖子當(dāng)著我的面吹牛缨该,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播川背,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼贰拿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了熄云?” 一聲冷哼從身側(cè)響起膨更,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缴允,沒想到半個月后荚守,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年矗漾,在試婚紗的時候發(fā)現(xiàn)自己被綠了锈候。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡缩功,死狀恐怖晴及,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情嫡锌,我是刑警寧澤虑稼,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站势木,受9級特大地震影響蛛倦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜啦桌,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一溯壶、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧甫男,春花似錦且改、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至若治,卻和暖如春慨蓝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背端幼。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工礼烈, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人婆跑。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓此熬,卻偏偏與公主長得像,于是被迫代替她去往敵國和親滑进。 傳聞我的和親對象是個殘疾皇子摹迷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,440評論 2 359

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