版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
iPhoneX適配方案及H5調(diào)試技巧iPhoneX適配方案2017年9月蘋果發(fā)布了iPhoneX機(jī)型,對于它的“劉海兒”和底部HomeIndicator,QQ空間H5也在第一時間做了兼容適配。在適配過程中,我們也嘗試了這三種方案,如下:解決方案1:客戶端適配客戶端直接將webview的安全區(qū)域限制在除去安全區(qū)域的區(qū)域內(nèi)。頁面將展示在下圖灰色webview內(nèi):利弊分析優(yōu)點:H5前端開發(fā)沒有任何適配工作量。缺點:頁面會限制在客戶端限制的webview區(qū)域內(nèi),沒有滿屏效果。解決方案2:使用mediaquery針對iPhoneX機(jī)型在html結(jié)構(gòu)的meta標(biāo)簽加入<metaname=”viewport”content=”…,viewport-fit=cover”/>在css中加入@mediaonlyscreenand(device-width:375px)and(device-height:812px)and(-webkit-device-pixel-ratio:3){…{padding-top:44px;}…{padding-bottom:34px;}}適配效果:利弊分析優(yōu)點:對于iPhoneX適配,最簡單直接有效的方法,不會影響到其他iOS機(jī)型。缺點:對于全屏/透頂標(biāo)題欄/橫屏情況都要用不同的css代碼進(jìn)行適配,不夠靈活。另外,如果蘋果下一年又發(fā)布了類似iPhoneXplus這樣的機(jī)型,適配工作就要重新來過。解決方案3:使用蘋果提供的新屬性蘋果對于iPhoneX上H5頁面的適配,提供了特殊屬性支持,包括meta標(biāo)簽的viewport屬性值中加入viewport-fit和加入constant(safe-area-inset-X)和env(safe-area-inset-X),這些屬性是與iOS11以上的所有iPhone機(jī)型(不僅僅包括iPhoneX)都相關(guān)的,故以iOS版本為區(qū)別具體分析一下全屏下的H5頁面:(1)針對iOS11.0以下系統(tǒng)將不識別H5頁面meta標(biāo)簽下的viewport-fit及constant(safe-area-inset-X)/env(safe-area-inset-X)屬性。(2)針對于iOS11.0-iOS11.1的系統(tǒng)當(dāng)設(shè)置了viewport-fit=cover,H5頁面會覆蓋頁面安全區(qū)域全屏展示,但是這樣會帶來頁面元素會被“劉海兒”和底部HomeIndicator遮擋問題,所以蘋果提供在css中設(shè)置constant(safe-area-inset-X)距離來規(guī)避遮擋問題。這些在不同webview下會表現(xiàn)不同的值,我們留到后面分析。另外,頁面不加viewport-fit=cover默認(rèn)viewport-fit=contain/auto,也就是我們看到的頁面不能覆蓋安全區(qū)域的情況,此時constant(safe-area-inset-X)的值都為0。所以在meta標(biāo)簽的viewpoint中加viewport-fit=cover時iOS10和iOS11下constant(safe-area-inset-X)值的表現(xiàn)是不一樣的。(3)針對iOS11.2及iOS11.2以上的系統(tǒng)constant()function改成了env(),其他與iOS11.2以下表現(xiàn)一樣(詳見第2點)。另外,iOS11.2新增了CSSfunction:min()和max()。例如:padding-left:max(12px,env(safe-area-inset-left));在env(safe-area-inset-left)值因為webview變化時值也可以做出相應(yīng)變化,取12px和env(safe-area-inset-left)的較大值。總結(jié)如下圖:在了解了以上情況后,大致可以知道如果要適配一個普通H5頁面的頂部時,可以在meta標(biāo)簽的viewport屬性中加入:<metaname=”viewport”content=”…,viewport-fit=cover”/>然后在需要的class里面加入:…{padding-top:20px;/*iOS10*/padding-top:constant(safe-area-inset-top);/*iOS11.0-iOS11.1*/padding-top:env(safe-area-inset-top);/*iOS11.2*/}在iOS11機(jī)型上,H5加入viewport-fit=cover后,safeArea的值是基于“如果布局接觸了非安全區(qū)域才會賦值”。所以在不同情況下會有不同表現(xiàn)。如下表所示:適配結(jié)果:這里展示了iPhone8/iPhoneX(iOS11.2)透頂狀態(tài)欄/透頂標(biāo)題欄/普通標(biāo)題欄下打開適配H5的效果圖。對應(yīng)代碼:<!DOCTYPEhtml><html><head><metacharset=”utf-8″><title>test</title><metaname=”viewport”content=”width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,viewport-fit=cover”/><styletype=”text/css”>html{background-color:#FFCD00;}html,body{width:100%;height:100%;}body,div{margin:0;padding:0;}.main{font-size:24px;text-align:center;width:100%;height:100%;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top);padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;}</style></head><body><divclass=”main”><divclass=”top”>————頂部————</div><divclass=”bottom”>————底部————</div></div></body></html>利弊分析優(yōu)點:符合標(biāo)準(zhǔn)的適配,靈活運用的話,H5在不同webview下打開都可以有完美的展現(xiàn)。且考慮了未來機(jī)型的適配。缺點:適配iPhoneX時需要同時考慮其他iOS11機(jī)型下會不會受到影響。以上只分析豎屏webview下的情況,橫屏webview可以自行通過模擬器進(jìn)行研究。接下來介紹一下模擬器的使用。iPhoneX模擬器H5調(diào)試介紹加入適配代碼后,在沒iPhoneX的情況下,可以通過iPhoneX模擬器調(diào)試,像手機(jī)QQ/手機(jī)空間里的H5頁面,可以通過在模擬器上安裝手機(jī)QQ/手機(jī)空間app,然后調(diào)用Safari調(diào)試。運行模擬器系統(tǒng)要求:MacOS10.12.6以上Xcode9.0以上步驟:在Xcode打開一個空白項目,選擇iPhoneX模擬器,并點擊運行按鈕即可。安裝應(yīng)用在Xcode上直接編譯客戶端代碼?;蛘咦尶蛻舳碎_發(fā)編譯一份模擬器版本的.app文件,將其拖進(jìn)運行的模擬器屏幕,應(yīng)用就成功安裝了。H5調(diào)試安裝應(yīng)用后,在應(yīng)用里訪問H5頁面,然后打開Safari(需要開啟Safari的開發(fā)工具),在菜單中選擇開發(fā)-Simulator-頁面地址,就可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小麥滴灌安裝合同(2篇)
- 醫(yī)院建筑分布式光伏發(fā)電方案
- IT技術(shù)合作協(xié)議范本
- 國有企業(yè)黨建工作督導(dǎo)檢查實施方案
- 南寧2024年統(tǒng)編版小學(xué)五年級英語第一單元期中試卷
- 制造業(yè)員工三基培訓(xùn)考核標(biāo)準(zhǔn)
- 注塑機(jī)節(jié)能評估與優(yōu)化方案
- 2024-2025學(xué)年河北省高三上學(xué)期省級聯(lián)測語文試題及答案
- 施工現(xiàn)場新冠防疫及衛(wèi)生方案
- 體育場館張拉膜安裝方案
- 四年級道德與法治下冊第6課《有多少浪費本可避免》第一課時教學(xué)設(shè)計說課稿
- 檢驗檢測服務(wù)項目固定資產(chǎn)和無形資產(chǎn)投資管理
- 6.2 做負(fù)責(zé)任的人
- 設(shè)備安裝施工作業(yè)指導(dǎo)書
- 危險源辨識與風(fēng)險評價記錄表知識講解
- 化工系統(tǒng)工程:第4章 換熱網(wǎng)絡(luò)綜合
- 醫(yī)院感染管理組織架構(gòu)圖
- 示范區(qū)標(biāo)識及精神堡壘、文化墻施工方案
- (完整版)國家會計領(lǐng)軍人才題型及經(jīng)驗分享
- 6.2做負(fù)責(zé)任的人課件(25張PPT)
- 制式服裝生產(chǎn)供貨服務(wù)方案
評論
0/150
提交評論