HTML 5漫談-01-響應(yīng)式網(wǎng)頁設(shè)計

              響應(yīng)式網(wǎng)頁設(shè)計追求的是根據(jù)用戶設(shè)備的不同、備朝向的不同,以及設(shè)備屏幕大小的不同,提供不同的網(wǎng)頁設(shè)計,以達(dá)到都美觀的效果。

              為了解決手機(jī)瀏覽網(wǎng)頁的問題,許多網(wǎng)站都提供了單獨(dú)的手機(jī)版本。比如,在手機(jī)瀏覽器地址欄輸入:www.sohuc.om,打開搜狐的主頁后,再去看瀏覽器地址欄,上面的網(wǎng)址實(shí)際上是:http://m.sohu.com;同樣的,用手機(jī)瀏覽器訪問淘寶的主頁,實(shí)際訪問的網(wǎng)址會是:https://m.taobao.com。

          這種解決方案下,需要用到設(shè)備檢測技術(shù),最簡單的實(shí)現(xiàn)方式就是應(yīng)用名為deviceJS的JavaScript庫(http://www.devicejs.org)。deviceJSDevice.js 是一個可以檢測設(shè)備、設(shè)備方向和操作系統(tǒng)和方向等。deviceJS的簡單的示例:

          <script type="text/javascript" src="device.min.js"></script>

          <script type="text/javascript">

             if (device.mobile()) {

                window.location = "http://m.sohu.com";

             }

          </script>

              開發(fā)可以使用Chrome瀏覽器的設(shè)備模擬功能,來實(shí)現(xiàn)移動設(shè)備的測試。打開Chrome瀏覽器之后,按F12,進(jìn)入“開發(fā)者工具界面。單擊開發(fā)者工具欄右上角的“Toggle Device Model”按鈕,就會打開設(shè)備模式。

              這時在瀏覽器地址欄輸入:www.sohu.com回車,就會看到搜狐移動版的頁面,而瀏覽器地址欄會變?yōu)椋簃.sohu.com

              網(wǎng)站的移動版僅僅解決了手機(jī)瀏覽網(wǎng)頁的問題,遠(yuǎn)遠(yuǎn)不能適應(yīng)眾多上網(wǎng)設(shè)備屏幕寬度的差異,于是流式布局技術(shù)應(yīng)運(yùn)而生。有關(guān)流式布局網(wǎng)站的示例,可以訪問:http://mediaqueri.es,上面收錄了各種風(fēng)格的使用流式布局設(shè)計的網(wǎng)頁。

              流式布局的本質(zhì),就是在不同屏幕寬度下應(yīng)用不同的CSS樣式,以適應(yīng)設(shè)備寬度或者瀏覽器寬度的改變。要做到這一點(diǎn),有兩個關(guān)鍵的技術(shù),一是HTML標(biāo)記的寬度和高度要使用相對值,二是對窗口寬度改變做出判斷并更換樣式表。

              先來說第一點(diǎn),網(wǎng)頁中的HTML標(biāo)記的寬度和高度,必須使用相對值(百分比),而不能是絕對值。下面是一個簡單的示例網(wǎng)頁:

          <!DOCTYPE html>

          <html>

          <head>

          <meta charset="UTF-8">

          <title>流式布局 - 相對寬度和高度值</title>

          <style type="text/css">

          html, body {

             height: 100%;

          }

          div {

             width: 90%;

             height: 45%;

             background: blue;

             margin: 0 auto;

          }

          p.class1 {

             width: 60%;

             height: 70%;

             background: yellow;

             padding-left: 10%;

             float: left;

          }

          p.class2 {

             width: 20%;

             padding: 0 5%;

             height: 30%;

             background: red;

             float: left;

          }

          </style>

          </head>

          <body>

             <div>

                <p class="class1">文字內(nèi)容</p>

                <p class="class2">文字內(nèi)容</p>

             </div>

          </body>

          </html>


          可以觀察瀏覽器在全屏狀態(tài)下頁面的顯示效果,然后調(diào)整瀏覽器窗口寬度后,觀察頁面的顯示效果。 
              流式布局的另外一項關(guān)鍵的技術(shù)就是對窗口寬度改變做出判斷并更換樣式表。聽起來挺難,實(shí)際上很容易,就是使用CSS3的媒體查詢,看下面的代碼片段:

          <link rel="stylesheet" href="css/1.css" type="text/css" 
                                               
          media="(min-width:800px)">

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

          <link rel="stylesheet" href="css/3.css" type="text/css" 
                                              
          media="(max-width:599px)">

              這段代碼的意思是說:當(dāng)屏幕寬度大于等于800時,應(yīng)用樣式表1.css;當(dāng)屏幕寬度小于等于799和大于等于600時,應(yīng)用樣式表2.css;當(dāng)屏幕寬度小于等于599時應(yīng)用樣式表3.css。



          ----------------------------------
          把人做到寬容,把技術(shù)做到強(qiáng)悍。

          posted on 2017-01-04 10:48 OldBoy 閱讀(167) 評論(0)  編輯  收藏 所屬分類: HTML5

          <2017年1月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 洞口县| 海原县| 左云县| 德化县| 安庆市| 林周县| 台中市| 黑山县| 长宁区| 延寿县| 中阳县| 宜阳县| 铜鼓县| 绥棱县| 大洼县| 迁西县| 措美县| 平远县| 新干县| 南城县| 玛纳斯县| 合川市| 遂昌县| 马边| 荆门市| 安国市| 莱阳市| 石阡县| 新河县| 平顶山市| 祁连县| 嘉善县| 德昌县| 秦皇岛市| 罗源县| 永康市| 曲阜市| 丰顺县| 廉江市| 双流县| 南丰县|