H5页面如何适配iPhone X ?腾讯设计师给出了通用解决方案!
2017-11-09 12:10:41 来源:易采站长网友投稿 作者:admin
腾讯的设想师用王者光彩的H5 页里案例,帮您教会给iPhone X 做适配。
腾讯ISUX :今朝的 H5 页里能够分为通栏页里战非通栏页里两种,每种页里皆能够有底部操纵栏,详细以下:
一. 通栏页里
顶部通栏
某些营业的一级页里大都利用了顶部通栏 banner 的结果,因为 iPhone X 正在形态栏删减了24px的下度,关于如今通栏 banner 标准的内容地区会有遮挡状况。
处理计划:关于通栏页里正在页里顶部删减一层下度44px的乌色适配层,全部页里往下挪44px。
那种做法固然没有契合苹果请求的设想标准,但因为短工夫内更新局部 banner 的本钱太下,能够先那样简朴处置,后绝再劣化 banner 的设想展示。

底部 Tab 栏 / 操纵栏
有些页里利用了底部 Tab 栏 / 操纵栏,因为 iPhone X 来失落了底部 Home 键,与而代之是34px下度的 Home Indicator ,关于今朝的底部 Tab 栏 / 操纵栏会形成必然的障碍。
处理计划:正在页里底部删减一层下度34px的适配层,将操纵栏上移34px,色彩能够自界说。

两. 非通栏页里
底部 Tab 栏 / 操纵栏
本果同上,正在底部有34px下度的 Home Indicator ,关于今朝的底部 Tab 栏 / 操纵栏会形成必然的障碍操纵。
处理计划:正在页里底部删减一层下度34px的色彩块,将操纵栏上移34px,色彩能够自界说。

三. 闭于宁静地区
那里能够有人会有疑问,为何非通栏下的页里内容是通到底部的,而按钮倒是正在宁静地区上圆呢?
那个成绩触及到宁静地区,iOS11 战先前版本的差别的地方正在于,webview 比力正视宁静地区了。那意味着,假如给页里元素设置 top : 0,它会衬着正在屏幕顶部的44px之下,也便是形态栏上面。假如给页里元素设置 bottom : 0,它会衬着正在屏幕底部的34px之上,也便是底部宁静地区上里。

为理解决那个为难的状况,苹果公司给我们供给了一个设置 Viewport的 Meta 标签的处理计划。
Viewport 能够设置的选项便是 Viewport—fit,它有三个可选值:
Contain:The viewport should fully contain the web content. 可视窗心完整包罗网页内容。
Cover:The web content should fully cover the viewport. 网页内容完整笼盖可视窗心。
Auto:The default value,同 Contain 的做用。
经由过程给页里设置Viewport—fit=cover,能够将页里的规划地区延长到页里顶部战底部。

关于通栏页里,设置了Viewport—fit 的属性,发明会没有死效,颠末跟同事检察脚 Q 源码后发明,末端关于 WebView 通栏的状况设置了UIScrollViewContentInsetAdjustmentNever属性,来除高低宁静地区的边距,使得宁静地区的高低边距生效了。
别的提一面,颠末 2 个版本的 Webview 测试,发明 WKWebview 正在衬着页里的时分,底部按钮正在地位表示上纷歧致,能够是一个借已处理的 Bug:

四. 利用 Web 计划:
按照以上的设想计划,能够那样处置:
修正页里 Viewport—fit 属性。
正在 H5 页里链接一个 iphonex.CSS 去给 iPhone X 会见的页里删减对应的适配层。
正在 H5 页里上给对应的 Dom 构造减上适配的类名。




△ iPhone X .CSS
如上,那样做的成绩是,要修正的页里十分多,并且给页里带去了分外的类名,对当前的款式移除也有必然的事情量。
别的,利用款式给页里顶部删减适配层,下推页里的时分乌色适配层会随着一同挪动:

既然利用 Web 的方法去处理那个成绩没有是很完善,能否能够经由过程末真个方法给 Webview 删减适配层,从而处理那个成绩呢?
利用末端计划:
颠末跟末端同窗的相同,肯定是能够经由过程末真个方法,正在本死界里初初化的时分删减适配层,那样页里便没有需求款式处置了。
详细是经由过程链接中删减参数去停止适配:
参数名:_Wvx 掌握 iPhone X 适配止为。
参数名:_WvxTclr 掌握顶部适配层色彩。
参数名:_WvxBclr 掌握底部适配层色彩。

关于顶部通栏的页里,经由过程减 URL 参数去删减顶部乌色适配层。


关于有底部操纵栏「包罗通栏战非通栏」,经由过程减 URL 参数去删减底部适配层和设置色彩。

△ 那里的 WVX=10 为 2 战 8 两个特征数字相减

那样,无需写一止代码,只需求给页里链接删减适配参数,便能够完善适配 iPhone X 了。











闽公网安备 35020302000061号