web移動端常用解決方案:
一、通過js+rem,這里有一個解決方案(http://imochen.github.io/hotcss/)
1.1、rem兼容性(https://caniuse.com)
ios:6.1系統以上
android:2.1系統以上
1.2、什么是rem的
rem其實就是根據網頁的根元素來設置字體大小,和em(font size of the element)的區別是,em是根據其父元素的字體大小來設置。現在大部分瀏覽器默認font-size:16px。如果一個p標簽想要設置font-size為12px,用rem作單位則變成了font-size:0.75rem(12/16=0.75)。根據這個原理,將rem運用到布局,則可以實現不同分辨率的適配。
1.3、rem基准值計算
實際開發中,我們不可能將默認font-size大小作為基准值,這個基准值應該是是根據ui設計稿獲取的。如果ui以iphone6(375px)的分辨率為設計基准,設計圖的分辨率就為750px(dpr為2),那么我們可以以375/10=37.5為基准(也可以不除已10,這里只是為了不讓font-size值太大)。
1.4、動態計算font-size的值
方法一、利用css媒體查詢
@media (min-device-width : 375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2) {
二、淘寶flexible方案(https://github.com/amfe/article/issues/17)。