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" <link rel="stylesheet" href="css/2.css" type="text/css" <link rel="stylesheet" href="css/3.css" type="text/css" |
----------------------------------
把人做到寬容,把技術(shù)做到強(qiáng)悍。
posted on 2017-01-04 10:48 OldBoy 閱讀(167) 評論(0) 編輯 收藏 所屬分類: HTML5