2022-09-20-????移動端適配方案選擇

一.Flexible方案

核心思路:利用終端寬度役首,設置body font-size 適配rem后添。

根據(jù)上述方案祖很,我們需要將設計稿中的 px 轉化為 rem,如果每一次都需要自己計算 px 轉換 rem嫉鲸,就太麻煩了。為了簡化改過程歹啼,衍生出很多 px 轉換 rem 的小工具玄渗。其中使用最為廣泛的是 postcss-px2rem 。使用該用具狸眼,在實際開發(fā)中直接按照設計稿寫 px 就可以了藤树。

示例:

.selector {
    width: 150px;
    height: 64px; /*px*/
    font-size: 28px; /*px*/
    border: 1px solid #ddd; /*no*/
}

使用插件轉換后:

.selector {
    width: 2rem;
    border: 1px solid #ddd;
}
[data-dpr="1"] .selector {
    height: 32px;
    font-size: 14px;
}
[data-dpr="2"] .selector {
    height: 64px;
    font-size: 28px;
}
[data-dpr="3"] .selector {
    height: 96px;
    font-size: 42px;
}

文本字號不建議使用 rem。前面大家都見證了如何使用 rem 來完成 H5 適配拓萌。那么文本又將如何處理適配岁钓。是不是也通過rem來做自動適配。顯然微王,我們在 iPhone3G 和 iPhone4 的 Retina 屏下面屡限,希望看到的文本字號是相同的。也就是說炕倘,我們不希望文本在 Retina 屏幕下變小囚霸,另外,我們希望在大屏手機上看到更多文本激才,以及拓型,現(xiàn)在絕大多數(shù)的字體文件都自帶一些點陣尺寸,通常是 16px 和 24px瘸恼,所以我們不希望出現(xiàn) 13px 和 15px 這樣的奇葩尺寸劣挫。如此一來,就決定了在制作 H5 的頁面中东帅,rem 并不適合用到段落文本上压固。

總結一下,使用動態(tài) rem 方案需要做的工作:

  1. meta 標簽設置 viewport 寬度為屏幕寬度靠闭;
  2. 根據(jù)不同屏幕修改根元素 font-size 大小帐我,一般設置為屏幕寬度的十分之一(可引入 lib-flexible 庫坎炼,或者自己寫相應邏輯);
  3. 開發(fā)環(huán)境配置 postcss-px2rem 或者類似插件拦键;
  4. 根據(jù)設計稿寫樣式谣光,元素寬高直接取設計稿寬高即可,單位為 px芬为,插件會將其轉換為 rem萄金;
  5. 段落文本也按照設計稿寫,單位為px媚朦,不需要轉換為 rem氧敢;

缺點:

flexible對dpr一刀切,無法正確適配屏幕字體询张。

lib-flexible 文檔中有如下一段話孙乖,表示 flexible 方案已經(jīng)可以廢棄,推薦使用 vw 視口單位進行適配份氧。

由于 viewport 單位得到眾多瀏覽器的兼容唯袄,lib-flexible 這個過渡方案已經(jīng)可以放棄使用,不管是現(xiàn)在的版本還是以前的版本半火,都存有一定的問題越妈。建議大家開始使用 viewport 來替代此方案。

二钮糖、Viewport方案

核心思路:利用跟元素百分比梅掠,子元素都可以使用 這個百分比。有人會問店归,為什么不直接使用100%呢阎抒,因為瀏覽器的子元素只能繼承父元素的高寬,不能繼承根元素的百分比消痛。

vw單位換算:如果按照375的設計稿為基礎且叁, 視口寬度為 100vw 占滿整個視口區(qū)域,那么 1vw 相當于占整個視口寬度的1%秩伞,所以 1px= 1/375*100 vw 所有的頁面元素都可以直接進行計算換算成 vw 單位逞带,但是這樣計算和百分比方案計算比較類似,都會比較麻煩纱新。

vw 適配方案的流程:

  1. meta 標簽設置 viewport 寬度為屏幕寬度展氓;
  2. 開發(fā)環(huán)境配置 postcss-px-to-viewport 或者類似插件;
  3. 根據(jù)設計稿寫樣式脸爱,元素寬高直接取設計稿寬高即可遇汞,單位為 px,插件會將其轉換為 vw;
  4. 段落文本也按照設計稿寫空入,單位為px络它,不需要轉換為 vw;

# Web移動端最強適配方案總結歪赢,沒想到這么好用化戳!
# 移動端適配原理與方案詳解

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市轨淌,隨后出現(xiàn)的幾起案子迂烁,更是在濱河造成了極大的恐慌看尼,老刑警劉巖递鹉,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異藏斩,居然都是意外死亡躏结,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門狰域,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媳拴,“玉大人,你說我怎么就攤上這事兆览∏龋” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵抬探,是天一觀的道長子巾。 經(jīng)常有香客問我,道長小压,這世上最難降的妖魔是什么线梗? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮怠益,結果婚禮上仪搔,老公的妹妹穿的比我還像新娘。我一直安慰自己蜻牢,他們只是感情好烤咧,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抢呆,像睡著了一般煮嫌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上镀娶,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天立膛,我揣著相機與錄音,去河邊找鬼。 笑死宝泵,一個胖子當著我的面吹牛好啰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播儿奶,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼框往,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了闯捎?” 一聲冷哼從身側響起椰弊,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓤鼻,沒想到半個月后秉版,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡茬祷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年清焕,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祭犯。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡秸妥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沃粗,到底是詐尸還是另有隱情粥惧,我是刑警寧澤,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布最盅,位于F島的核電站突雪,受9級特大地震影響,放射性物質發(fā)生泄漏檩禾。R本人自食惡果不足惜挂签,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盼产。 院中可真熱鬧饵婆,春花似錦、人聲如沸戏售。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽灌灾。三九已至搓译,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锋喜,已是汗流浹背些己。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工豌鸡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人段标。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓涯冠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逼庞。 傳聞我的和親對象是個殘疾皇子蛇更,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內(nèi)容