響應式網頁設計是Ethan Marcotte在去年5月份提出的一個概念,簡而言之,就是一個網站可以兼容多個終端——而不是爲每一個終端作一個特定的版本。這個概念能夠說是爲移動互聯網而生的!css
其實響應式網頁的實現很簡單,都是你們熟悉的技術。html
由於如今主流的智能終端都是基於iOS和Android的,而它們自帶的瀏覽器都是基於webkit內核,因此咱們能夠徹底使用viewport屬性和media query技術實現網站的響應性:web
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> |
後面的initial-scale表示初始縮放,maximum-scale表示最大縮放比例,1意味着不能進行縮放。chrome
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
/* for 240 px width screen */ @media only screen and (max-device-width:240px){ selector{ } } /* for 360px width screen */ @media only screen and (min-device-width:241px) and (max-device-width:360px){ selector{ } } /* for 480 px width screen */ @media only screen (min-device-width:361px)and (max-device-width:480px){ selector{ } } |
固然依靠屏幕寬度來進行適配是最簡單的方法,media query有不少參數可使用好比orientation、aspect-ratio等。瀏覽器
其實,media query是響應式網頁設計中被用到最多的技術。網絡
若是你關注網站性能之類的話,可能已經發現了一些問題:框架
嗯,任何一個方案都不是完美的,但也不會很糟糕。下面咱們會提到一些可行的優化方案:less
國外在響應式網頁設計上已經走的很遠了,已經有不少工具和資源供咱們參考和使用:工具
響應式網頁設計被提出以來,爭論就不斷,其實核心問題只有兩個個:太多的資源請求和有限的終端支持之間的矛盾、響應式的網頁設計和移動終端在用戶體驗和視覺風格上的差別。前者不能容忍在弱小的手機/平板上經過龜速的3G/2G網絡來加載一個笨重的PC端頁面,然後者糾結響應式網站不像手機網站。性能