目前的幾種布局
隨著移動互聯網的發(fā)展和微信的突起,移動端的響應式布局越來越重要了。
目前網站布局有以下幾種:
1.定寬度布局
很多pc的網站都是定寬度布局的,也就是設置了min-width,
這樣一來,如果小于這個寬度就會出現滾動條,
如果大于這個寬度則內容居中外加背景,
這種設計常見與pc端。
2.響應式布局
所謂響應式布局就是流式布局+媒體查詢,
流式布局用來解決不同寬度的布局問題,
外加媒體查詢,可以調整布局,例如大屏幕是布局1,小屏幕是布局2,
這種布局通吃pc和移動端,做到精細處,兩者的效果都很好,
缺點是媒體查詢是有限的,也就是可以枚舉出來的,
只能適應主流的寬高。
3.rem布局
近期出現rem布局,參考:http://isux.tencent.com/web-app-rem.html
原理是,先按定高寬設計出來頁面,然后轉換為rem單位,
配合js查詢屏幕大小來改變html的font-size,
最終做出所謂的完美自適應。
rem的缺點
rem一出好像所有移動端自適應不采用rem都很low一樣,
來分析分析,
假設以100x100做出網頁,
那么采用rem+js完全可以自適應所有200x200,300x300,450x450等等高寬,
問題來了,
如果用100x100設計好后,
來了100x200,100x300,100x400的手機,
那么效果無非兩種:
1.網頁內容只局限與網頁頂部,例如100x400的手機,網頁內容只占用的100x100的部分,
2.有人說可以高度也js+rem,那么效果無非是拉伸或者縮放
不要抬杠
有人會說了,現實中不會有100x400的手機,
我想說的是這種rem+js只不過是寬度自適應,
高度沒有做到自適應,一些對高度,或者元素見間距要求比較高的設計,
那這種布局沒有太大的意義。
如果只是寬度自適應,那我更推薦的是響應式設計。
響應式 VS rem
1.響應式
隨便找一個響應式的網站
改變?yōu)g覽器寬度,你會發(fā)現“布局”會隨之變化,不是一成不變的,
例如導航欄在大屏幕下是橫排,在小屏幕下是豎排,在超小屏幕下隱藏為菜單,
也就是說如果有足夠的耐心,在每一種屏幕下都應該有合理的布局,完美的效果。
優(yōu)點:適應pc和移動端,如果足夠耐心,效果完美
缺點:要匹配足夠多的屏幕大小,工作量不小,設計也需要多個版本
3.rem+js
改變?yōu)g覽器寬度,你會發(fā)現,頁面所有元素的高寬都等比例縮放,
也就是大屏幕下導航是橫的,小屏幕下還是橫的只不過變小了。。
優(yōu)點:理想狀態(tài)是所有屏幕的高寬比和最初的設計高寬比一樣,或者相差不多,完美適應。
缺點:碰到重視高度的設計,或者重視元素間間距的設計,那就玩不開了。
總結
1.如果只做pc端
那么定寬度是最好的選擇
2.如果做移動端,且設計對高度要求不高
那么rem+js是最好的選擇,一份css+一份js調節(jié)font-size搞定
3.如果pc,移動要兼容,而且要求很高
那么響應式布局還是最好的選擇,前提是設計根據不同的高寬做不同的設計,
響應式根據媒體查詢做不同的布局。
【ps】
還有一種rem+媒體查詢,和rem+js一對比感覺有點雞肋就沒有提及。
最完美的是
隨著移動端的風行,最完美的是:
響應式布局+多版本設計+足夠的耐心