国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

H5 分層屏幕適配

Arno / 2063人閱讀

摘要:單屏適配有或,多屏常見是依寬。整層適配為確保各層元素同步縮放,不走樣,每層的適配區應當等于設計稿大小。直接的實現就是構造和適配區一樣尺寸的容器,整層適配。值為時對應適配。這下媽媽再也不用擔心我還原問題屏幕適配問題了。

轉載請注明出處:http://hai.li/2018/03/14/h5-screen-adaptation.html

設計大大,這次真的是 "按設計稿來" 了,因為現在,任何機子都是設計稿標準機! 開發同學,這下你就直接讀設計稿標注就好了啦!

屏幕適配

屏幕適配應當指內容 適配區屏幕區 間的適配關系。
單屏適配有 containcoverfill,多屏常見是 依寬
containcover 還需要 定位 來處理留白和超出的內容。
而同一個 H5 里不同內容往往用不同適配方式,即 分層

優選 CSS

頁面加載后 js 往往需要延時至少 70ms 才能獲取正確的 webview 寬高

css 往往最先執行,且 cssom 的解析往往和 dom 在最開始并行構建

js 會等待 dom 和 cssom 處理完后才能執行,而 css 只需等待 dom

相比 js 在切換橫豎屏時要切換 2 次進程來重繪,css 無需切換

對于屏幕適配這類表現問題,能用 css 實現就應該用 css 實現。

整層適配

為確保各層元素同步縮放,不走樣,每層的 適配區 應當等于設計稿大小。
直接的實現就是構造和 適配區 一樣尺寸的 容器整層適配
容器 內可以有若干個相同適配方式的 元素
svg 實現為例:






 
    


 
    


 
    


實際效果:

整層適配 實現簡單,開發時直接讀取設計稿值,可以滿足大部分靜態頁面需求。
但在 h5 動畫多的時候,就得考慮動畫流暢,頁面性能了。
用可替換元素如 background 實現示例

background-size 值為 contain 時對應 contain 適配。

background-size 值為 cover 時對應 cover 適配。

background-size 值為 100% 100% 時對應 `fill 適配。

background-position 百分比和 o p 意義相同





實現示例

preserveAspectRatiomeetOrSlicemeet 時對應 contain 適配。

preserveAspectRatiomeetOrSliceslice 時對應 cover 適配。

preserveAspectRatio 值為 none 時對應 fill 適配。

這里 preserveAspectRatiomeetOrSlice 相對的是容器,不是 適配區 這里用 transform 來定位,而 preserveAspectRatiomeetOrSlice 固定為 xMinYMin





 
   


輔助工具

手動計算百分比及寫 css 很麻煩,可以借助 sass 等工具來輔助簡化。
設計稿寬 vg 一般是頁面級常量。
只需讀取設計稿里每個 元素 的橫坐標 x 、縱坐標 y 、寬 w 和 高 h,然后工具生成 css 即可。
這下媽媽再也不用擔心我還原問題、屏幕適配問題了。

文字處理

文字固定或單行不固定,svgtext 標簽可以處理

文字固定或單行不固定還可以將文字轉為圖片

文字多行不固定,可以借助 svgforeignObject 嵌入普通 div

方案對比

屏幕適配方案非常多,選哪種方式實現 整層適配精簡適配,下面是對比

方案 縮放 定位 文字縮放 兼容
padding-top 百分比 只能依寬 ? ? ?
viewport ? ? ? 支持情況復雜
object-fit ? ? ? 移動端 android 4.4.4+
svg preserveRatio ? ? ? 移動端 android 3.0+
(max/min)-(width/height) ? ? 固定文字 ?
background-size ? ? 文字轉圖片 ?

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115816.html

相關文章

  • 從零搭建移動H5開發項目實戰

    摘要:并且除了常用的端,還要考慮微信端,或者是端。所以我們要有一套機制,在端上走的代碼,在端或者微信端上走端對應的代碼。對于一個從零開始的移動端項目,我總結了以上這些移動開發難點,希望之后的人能少踩點坑,站在我的肩膀上提高項目開發的效率和質量。 從零搭建移動H5開發項目實戰 前端H5的前世今身 在Pc的時代,前端技術無疑統治了大多數用戶的交互界面!而在移動為王的今天,NA開發在早期占領了大多...

    terro 評論0 收藏0
  • 從零搭建移動H5開發項目實戰

    摘要:并且除了常用的端,還要考慮微信端,或者是端。所以我們要有一套機制,在端上走的代碼,在端或者微信端上走端對應的代碼。對于一個從零開始的移動端項目,我總結了以上這些移動開發難點,希望之后的人能少踩點坑,站在我的肩膀上提高項目開發的效率和質量。 從零搭建移動H5開發項目實戰 前端H5的前世今身 在Pc的時代,前端技術無疑統治了大多數用戶的交互界面!而在移動為王的今天,NA開發在早期占領了大多...

    pepperwang 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<