如何用 lib-flexible 實現移動端H5頁面適配

最近這幾個星期在學到了移動端H5頁面適配,以前根本沒做過移動端網頁,所以把我學到的小知識點寫下來,也分享給前端新手們。

做移動端網頁和pc端很大不同的便是現在移動端窗口分辨率繁多。

很多時候UI給的設計圖只有一份,還是按照iphone6設計的,這就讓前端適配其他例如6plus或安卓等其他移動端頭疼。

還好,阿里巴巴2015年底公開了其成熟的適配方案,lib-flexible,至於其可靠性可參考每年天貓活動的移動端頁面。

這個方案的用法大概是這樣的,HTML 頭部引入 lib-flexible 的樣式和js庫,容器或組件寬高主要使用單位 rem ,字體大小則不變仍然使用單位 px


然而我們在實際的開發中ui給出的圖一般都是750X1334的,其實iphone6的像素和ui設計的像素是一樣大小的,但是我們的開發如果都是按照6的px來設計,那麼我們的其它比6小尺寸屏幕的所有設備都會面臨width不夠的問題。flexible就完美的解決了這個問題。

應用中我們只要設置好他的公共比的像素就ok了,比如說如果ui圖的像素是750,那我們需要的就是750/10,我們需要的就是75,我們所有的width的固定px就都可以變換成用rem像素代替實現樣式統一例如我們width需要200px那麼我們就可以這樣寫:

width=200rem/75;從而實現樣式的兼容(特別注意:因爲css不支持樣式的計算,我們需要用less活着sass類似的css編譯執行就可以得到最終的rem的值了)

另外,我們根據不同dpr可以設置一些不同的樣式來實現視網膜屏幕的高清屏幕!

[data-dpr="1"] .selector {
width: 10px;
height: 32px;
font-size: 14px;
}
[data-dpr="2"] .selector {
width: 20px;
height: 64px;
font-size: 28px;
}

我們根據不同的自定義屬性data-dpr來設置不同的width和height 從而達到不同dpr屏幕具有不同的屬性!(這個位置一般用來處理圖片。。)



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章