摘要:?jiǎn)纹吝m配有或,多屏常見是依寬。整層適配為確保各層元素同步縮放,不走樣,每層的適配區(qū)應(yīng)當(dāng)?shù)扔谠O(shè)計(jì)稿大小。直接的實(shí)現(xiàn)就是構(gòu)造和適配區(qū)一樣尺寸的容器,整層適配。值為時(shí)對(duì)應(yīng)適配。這下媽媽再也不用擔(dān)心我還原問(wèn)題屏幕適配問(wèn)題了。
轉(zhuǎn)載請(qǐng)注明出處:http://hai.li/2018/03/14/h5-screen-adaptation.html
設(shè)計(jì)大大,這次真的是 "按設(shè)計(jì)稿來(lái)" 了,因?yàn)楝F(xiàn)在,任何機(jī)子都是設(shè)計(jì)稿標(biāo)準(zhǔn)機(jī)! 開發(fā)同學(xué),這下你就直接讀設(shè)計(jì)稿標(biāo)注就好了啦!
屏幕適配屏幕適配應(yīng)當(dāng)指內(nèi)容 適配區(qū) 和 屏幕區(qū) 間的適配關(guān)系。
單屏適配有 contain、cover 或 fill,多屏常見是 依寬 。
contain 和 cover 還需要 定位 來(lái)處理留白和超出的內(nèi)容。
而同一個(gè) H5 里不同內(nèi)容往往用不同適配方式,即 分層。
頁(yè)面加載后 js 往往需要延時(shí)至少 70ms 才能獲取正確的 webview 寬高
css 往往最先執(zhí)行,且 cssom 的解析往往和 dom 在最開始并行構(gòu)建
js 會(huì)等待 dom 和 cssom 處理完后才能執(zhí)行,而 css 只需等待 dom
相比 js 在切換橫豎屏?xí)r要切換 2 次進(jìn)程來(lái)重繪,css 無(wú)需切換
對(duì)于屏幕適配這類表現(xiàn)問(wèn)題,能用 css 實(shí)現(xiàn)就應(yīng)該用 css 實(shí)現(xiàn)。
整層適配為確保各層元素同步縮放,不走樣,每層的 適配區(qū) 應(yīng)當(dāng)?shù)扔谠O(shè)計(jì)稿大小。
直接的實(shí)現(xiàn)就是構(gòu)造和 適配區(qū) 一樣尺寸的 容器, 整層適配。
容器 內(nèi)可以有若干個(gè)相同適配方式的 元素。
以 svg 實(shí)現(xiàn)為例:
實(shí)際效果:
整層適配 實(shí)現(xiàn)簡(jiǎn)單,開發(fā)時(shí)直接讀取設(shè)計(jì)稿值,可以滿足大部分靜態(tài)頁(yè)面需求。
但在 h5 動(dòng)畫多的時(shí)候,就得考慮動(dòng)畫流暢,頁(yè)面性能了。
用可替換元素如