響應式網頁和bootstrap框架的基礎知識及其簡單應用

一、響應式網頁

  1. 一個頁面,可以根據瀏覽設備的不同,以及特性的不同,而自動改變布局、大小等

  2. 響應式網頁的三個特征

    1)流式網格布局(fluid)
    2)可伸縮的圖片和字體
    3)CSS3 Media Query - 根據客戶端瀏覽設備的特性,有選擇的執行部分css
    
  3. 優缺點

    優點:可以自動適配PC/PAD/PHONE瀏覽器屏幕
    
    缺點:代碼變復雜,需要考慮更多兼容性,并不適合內容非常多的網頁
    

二、如何測試響應式網頁

1、真實物理設備

    優點:測試結構真實可靠
    不足:測試任務量太大

2、使用第三方軟件

    優點:無需添置真實設備
    不足:軟件測試效率低,部分功能無法測試,測試結果有待進一步驗證

3、使用瀏覽器模擬器測試

    優點:測試功能強大,簡單易用,
    不足:測試結果有待進一步驗證

三、響應式布局必須清楚的兩個概念

  1. viewport - 視口

    1) 2010年之前,html網頁基本都是為pc設計的,寬度比較大,在手機上的顯示內容會擠壓到一塊,后來iOSiOS引入了viewport(視口)的概念,來優化手機上觀看網站的體驗
    
    2)  iOS引入了viewport(視口)的概念:用于顯示網頁內容的一個邏輯概念,其高度和寬度都可以任意制定,網頁不是顯示在物理窗口,而是顯示在視口中-就可以實現大網頁不經縮放,直接顯示手機中,但需要用戶來回滑動
    
    3) viewport的用法
    
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" >
    
    viewport 可以指定如下屬性:
    
       width:  視口的寬度,可以取值為數值,或device-width
       height:視口的高度,一般不指定
       initial-scale:初始時的縮放倍率
       minimum-scale : 允許的最小縮放倍率
       maximum-scale :  允許的最大縮放倍率
       user-scalable : 是否允許用戶手動縮放,可取值1/0/yes/no
    
  2. CSS3 media query

    1) 作用:根據客戶端瀏覽設備的特性,有選擇的執行部分css
    
    2) media: 指瀏覽網頁的設備,如screen
    
    3) Query: 查詢出當前瀏覽設備的特性,如類型、寬度、高度、分辨率、色彩、方向(landscape/portrait)
    
    4) css3MediaQuery有兩種用法
    
     根據媒體的特性,加載不同的外部css
    
     <link media="screen and (min-width:990px) and (max-width:1000px)" rel="stylesheet" type="text/css" href="css/pc.css"/>
    
     不足:客戶端會不管媒體特性,請求所有的css文件
    
     根據媒體的特性,執行某段css中的部分內容
    
     @media screen and (min-width: 990px) {}
    
     https://wangliguang.github.io/categories/
    

三、如何編寫響應式網頁

1. 在head標簽中,聲明viewport元標簽, 使網頁的視口和瀏覽器的寬高保持一致

    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" >

2. 根據瀏覽器的不同,加載不同的css文件

    <link rel="stylesheet" type="text/css" media="screen and (min-width: 400px)" href="smallScreen.css" />

    <link rel="stylesheet" type="text/css" media="screen and (min-width: 400px) and (max-device-width: 600px)" href="tinyScreen.css" />

3. 同一個css文件中,也根據不同的屏幕分辨率,選擇應用不同的css規則

    @media screen and (max-device-width: 400px) {

       .column {
          float: none;
          width:auto;
       }

       #sidebar {
          display:none;
       }
    }

4. 注意:

   1) 所有元素的寬不能制定固定值,必須使用相對的寬度值

    width:"60%" 或者 width:"auto"

   2) 字體不能使用絕對大小(px),必須使用相對大小(em)

   3) 布局用的各個區塊的位置都是浮動的,不是固定不變的

   4) 除了布局和文本,還必須實現圖片的自動縮放,或者根據客戶端屏幕的不同,加載不同尺寸的圖片

       img {

          max-width:100%;
        }

四、 Bootstrap

 www.bootcss.com
  1. 是一個html/css/js框架,適用于移動設備優先的響應式網頁

     V2: 面向PC進行了樣式設定,同時兼顧pad和phone
    
     V3: 面向Phone進行樣式設定,同時兼顧了PC
    
    主要涉及:
    
     HTML: 為H5擴展了一些自定義屬性 
    
     CSS: CSS Reset + 幾千個class
    
     JS: 基于JQ提供了十幾個插件函數
    
  2. bootstrap分為五部分

    1. 起步startup
    
        創建一個bootstrap頁面,查看對下述標簽進行了哪些樣式重置
    
        html body h1-h6 a img table ul
    
    2. 全局css樣式 global css
    
        1) 按鈕
    
          bootstrap中常用的五種顏色
    
                紅色->危險
                綠色->成功
                黃色->警告
                淺藍色->信息
                深藍色->基礎的
    
          bootstrap中常用的四個大小
    
              btn-lg -》大
             btn-md -》中
             btn-sm -》小
             btn-xs -》最小
    
           塊級按鈕
              btn-block
           調整按鈕的位置
    
              pull-right ->右浮動
             pull-left  ->左浮動
    
        2) 圖片
    
                img-rounded 圓角
                img-circle 圓形
                img-thumbnail 縮略圖
                img-responsive 圖片支持響應式布局
    
        3) 排版和代碼,僅作了解
    
           文本顏色:
                   text-danger
                   text-success
                   text-warning
                   text-info
                   text-primary
    
           背景顏色
                   bg-danger
                   bg-success
                   bg-warning
                   bg-info
                   bg-primary
           文本對齊方式       
                   text-left
                   text-right
                   text-center
                   text-justify
    
           文本對齊方式
    
                   text-lowercase
                   text-uppercase
                   text-capitalize
    
        4) 列表
                   list-unstyle 去掉列表項樣式
                   list-inline 將所有元素放在同一行
    
        5) 表格
          
               bootlint是一個js,由bootstrap官方提供,用于檢測使用bootstrap的頁面中場景的html錯誤,class使用方面的錯誤-默認請求下瀏覽器檢查不出來的
    
               table
    
               table-bordered 帶邊框的
    
               table-responsive 響應式表格,注意,使用在table的父元素上,而不是table上
    
               table-striped 隔行變色的表格
               table-hover 帶懸停效果的表格
    
        6) 柵格布局系統
    
        7) 表單
    
  3. 組件commponent

  4. 插件plugin

  5. 定制customize

總結:

  1. 響應式布局就是bootstrap

  錯的,使用bootstrap是為了更加簡單的做響應式頁面

  2. viewport,是一個邏輯概念,可以設置寬高,用于顯示頁面

  3. css Media query 根據不同的情況使用不同的css樣式

  4. 自己做響應式頁面

     1) 設置viewport寬=device-width

     2) 使用css3 media query加載樣式

     3) 注意點

       浮動 字體設置相對的 width相對的 img-》max-width:100%

  5. bootstrap做響應式

      1. ie兼容
      2. 設置viewport
      3. 導入關鍵css文件

         css reset + 上千個類

      4. 使用css hack 讓低版本ie兼容html5新標簽和cssmediaquery

      5. 給元素設置類

      6. 導入bootstrap的關鍵js文件
      查看bootstrap中對h1-h6,img, body的重置樣式

五、 案例展示

cssmediaquery在一個css文件中選擇執行不同的css樣式

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="allDevice.css">
</head>
<body>
<h1在一個css文件中使用不同的樣式/h1>
<p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </p>
</body>
</html>
貼圖

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,663評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,125評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,506評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,614評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,402評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,934評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,021評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,168評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,690評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,596評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,288評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,027評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,404評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,662評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,398評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,743評論 2 370

推薦閱讀更多精彩內容

  • 一、響應式網頁 一個頁面,可以根據瀏覽設備的不同,以及特性的不同,而自動改變布局、大小等 響應式網頁的三個特征 1...
    云音流閱讀 2,833評論 0 2
  • Bootstrap是什么? 一套易用、優雅、靈活、可擴展的前端工具集--BootStrap。GitHub上介紹 的...
    凜0_0閱讀 10,904評論 3 184
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,774評論 1 92
  • 閱讀本文,請先至少看過完整的羅永浩smartisan手機發布會視頻 。 羅永浩說他之所以跨界做手機,其實是源于一次...
    小米蟲在吃米閱讀 1,533評論 4 6
  • 修改 Automatic Reference Counting 為Yes。設置 Automatic Referen...
    Sparkle_S閱讀 283評論 0 0