在設計中常常遇到這幾個問題:php
1.想要網站兼容手機、平板電腦、pc,就得爲不一樣的設備定製不一樣的版本。html
2.想要網站的某些頁面在寬屏顯示器下一行顯示更多的內容,又得爲寬屏定製一個版本。前端
3.不少人並非在全屏的狀況下瀏覽咱們的頁面,若是讓頁面隨着瀏覽器寬度改變而相應的調整會不會比較好?node
有沒有辦法能有效解決這些問題呢?web
響應式Web設計(Responsive Web design)的理念是頁面的設計與開發應當根據設備環境(屏幕尺寸、屏幕定向、系統平臺等)以及用戶行爲(改變窗口大小等)進行相應的響應和調整。具體的實踐方式由多方面組成,包括彈性網格和佈局、圖片、CSS media query的使用等。不管用戶正在使用pc、平板電腦,或者手機,不管是全屏顯示仍是非全屏的狀況,不管屏幕是橫向仍是豎向,頁面都應該可以自動切換分辨率、圖片尺寸及相關腳本功能等,以適應不一樣設備。瀏覽器
響應式web設計對交互設計和前端實現提出了更高的要求,須要考慮清楚不一樣分辨率下頁面的佈局變化、內容的縮放等。ide
查看線上demo佈局
當瀏覽器寬度變小時,左右兩欄的寬度都有縮小,左邊的banner圖片和視頻也相應縮小,右邊的頭像列表由一排4個變爲一排兩個。測試
當瀏覽器寬度進一步變小後,頁面由兩欄結構變爲一欄結構,部份內容的尺寸進一步縮小,搜索區域也從導航裏挪到了導航外。網站
經過用戶研究,瞭解用戶使用的設備分佈狀況,肯定須要兼容的設備類型、屏幕尺寸。
設備類型:包括移動設備(手機、平板)和pc。對於移動設備,設計和實現的時候注意增長手勢的功能。
屏幕尺寸:包括各類手機屏幕的尺寸(包括橫向和豎向)、各類平板的尺寸(包括橫向和豎向)、普通電腦屏幕和寬屏。
須要考慮的問題:
針對肯定下來的幾個尺寸分別製做不一樣的線框原型,須要考慮清楚不一樣尺寸下,頁面的佈局如何變化,內容尺寸如何縮放,功能、內容的刪減,甚至針對特殊的環境做特殊化的設計等。這個過程須要設計師和前端開發人員保持密切的溝通。
將圖片導入到相應的設備進行一些簡單的測試,可幫助咱們儘早發現可訪問性、可讀性等方面存在的問題。
注意,移動設備的屏幕像素密度與傳統電腦屏幕不同,在設計的時候須要保證內容文字的可讀性、控件可點擊區域的面積等。
與傳統的web開發相比,響應式設計的頁面因爲頁面佈局、內容尺寸發生了變化,因此最終的產出更有可能與設計稿出入較大,須要前端開發人員和設計師多溝通。