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