VW: 是時候放棄REM布局了

首先我們先介紹一下rem

em是css中的一個計量單位,就好比猴子是上單的一個計量單位一樣 即 em: em-quads。
那么,rem的意思就不難猜了,r代表的是 root 即 rem:root em => root em-quads。
我們都知道,em是個單位它參照的是父元素的字體,那么rem的大小就是以根元素的字體作為參照。
所以,我們在用rem的時候就必須知道根元素是什么,它的字體大小是多少,還有如何設(shè)置根元素的字體,已達到我們根據(jù)設(shè)備尺寸的不同實現(xiàn)用rem作為計量單位完成我們所講的移動端的適配的。
而關(guān)于rem的適配方案各家的方法也不是很統(tǒng)一,只能說是各有千秋,而比較流行的就是手機淘寶的適配方案了,也就是我們總在講的lib-flexible的適配方案。關(guān)于rem的布局方案我推薦一篇文章會詳細講到lib-flexible布局方案《使用Flexible實現(xiàn)手淘H5頁面的終端適配》

在使用rem布局中到底會有哪些問題

  • 在奇葩的dpr設(shè)備上表現(xiàn)效果不太好,比如 一些華為的高端機型 用rem布局會出現(xiàn)錯亂。
  • 設(shè)置根字體大小的方式有兩種,一種是媒體查詢,優(yōu)點:不需要額外使用js去更改html的字體,缺點:不連續(xù),或者說并能完全實現(xiàn)對所有設(shè)備的布局規(guī)范統(tǒng)一;
    另一種是js動態(tài)更改html字體,優(yōu)點:連續(xù);缺點:不如直接寫媒體查詢的體驗好;
  • 不支持css3 calc的需要大量密集的 @media hack;
  • 使用iframe引用也會出現(xiàn)問題;
  • 需要解決在ios上的1px邊框問題,但是這個在lib-flexible中已經(jīng)解決:(1px變2px, 又被 initial-scale=0.5 縮小了一半);

關(guān)于viewport,即,視窗

總結(jié)

之所以會寫這篇文章,就是希望大家在使用上述某一種適配方案的時候,要大概了解其機制,兼容性,以及可能遇到的問題,做到心中有數(shù)。
以上。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容