时间:2023-01-19 | 标签: | 作者:Q8 | 来源:网络
小提示:您能找到这篇{iPhone X适配方案 及 H5调试技巧}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的iPhone X适配方案 及 H5调试技巧内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您! |
iPhone X适配方案2017年9月苹果发布了iPhone X机型,对于它的“刘海儿”和底部Home Indicator,QQ空间H5也在第一时间做了兼容适配。在适配过程中,我们也尝试了这三种方案,如下: 解决方案1:客户端适配客户端直接将webview的安全区域限制在除去安全区域的区域内。页面将展示在下图灰色webview内: 利弊分析
解决方案2:使用media query针对iPhoneX机型在html结构的meta标签加入
在 css 中加入
适配效果: 利弊分析
解决方案3:使用苹果提供的新属性苹果对于iPhone X上H5页面的适配,提供了特殊属性支持,包括meta标签的viewport属性值中加入viewport-fit和加入constant(safe-area-inset-X)和env(safe-area-inset-X) ,这些属性是与iOS11以上的所有iPhone机型(不仅仅包括iPhone X)都相关的,故以iOS版本为区别具体分析一下全屏下的H5页面: (1)针对iOS11.0以下系统 将不识别H5页面meta标签下的viewport-fit及constant(safe-area-inset-X)/env(safe-area-inset-X)属性。 (2)针对于iOS11.0-iOS11.1的系统 当设置了viewport-fit=cover,H5页面会覆盖页面安全区域全屏展示,但是这样会带来页面元素会被“刘海儿”和底部Home Indicator遮挡问题,所以苹果提供在css中设置constant(safe-area-inset-X)距离来规避遮挡问题。 这些在不同webview下会表现不同的值,我们留到后面分析。 另外,页面不加viewport-fit=cover默认viewport-fit=contain/auto,也就是我们看到的页面不能覆盖安全区域的情况,此时constant(safe-area-inset-X)的值都为0。 所以在meta标签的viewpoint中加viewport-fit=cover时iOS10和iOS11下constant(safe-area-inset-X)值的表现是不一样的。 (3)针对iOS11.2及iOS11.2以上的系统 constant() function改成了env(),其他与iOS11.2以下表现一样(详见第2点)。另外,iOS11.2新增了CSS function: min()和max()。例如:
在env(safe-area-inset-left)值因为webview变化时值也可以做出相应变化,取12px和env(safe-area-inset-left)的较大值。 总结如下图: 在了解了以上情况后,大致可以知道如果要适配一个普通H5页面的顶部时,可以在meta标签的viewport属性中加入:
然后在需要的class里面加入:
在iOS11机型上,H5加入viewport-fit=cover后,safeArea的值是基于“如果布局接触了非安全区域才会赋值”。所以在不同情况下会有不同表现。如下表所示: 适配结果: 这里展示了iPhone8 / iPhone X (iOS11.2)透顶状态栏/透顶标题栏/普通标题栏下打开适配H5的效果图。 对应代码:
利弊分析
以上只分析竖屏webview下的情况,横屏webview可以自行通过模拟器进行研究。接下来介绍一下模拟器的使用。 iPhone X模拟器 H5调试介绍加入适配代码后,在没iPhone X的情况下,可以通过iPhone X模拟器调试,像手机QQ/手机空间里的H5页面,可以通过在模拟器上安装手机QQ/手机空间app,然后调用Safari调试。 运行模拟器系统要求:
步骤:在Xcode打开一个空白项目,选择iPhoneX互联网模式下的营销模式模拟器,并点击运行按钮即可。 安装应用在Xcode上直接编译客户端代码。或者让客户端开发编译一份模拟器版本的.app文件,将其拖进运行的模拟器屏幕,应用就成功安装了。 H5 调试安装应用后,在应用里访问H5页面,然后打开Safari(需要开启Safari的开发工具),在菜单中选择开发-Simulator-页面地址 ,就可以用Safari的检查器对其作调试了。(当有多个页面地址,将鼠标移至二级菜单的某一个页面地址时,模拟器页面屏幕会有蓝色遮罩出现时则是选中了本页面地址),有些时候Safari识别不到模拟器,只需退出Safari,点一下模拟器屏幕,再重新打开Safari一般就会出来了。 这种方法对于我们要调试线上H5的其他问题、要测试其他iOS设备找不到真机时同样适用。 最后经过分析,使用官方提供的新属性是三种里面较佳的方案,不过使用在适配过程中应当整体考虑所有机型,webview的类型及布局、还有横竖屏对contstant(safe-area-inset-X)/env(safe-area-inset-X)值的影响。
来源: 题图来自 Unsplash,基于 CC0 协议 ![]() |
上一篇:有形的手势:混合现实的体感交互
下一篇:Design for Xuture:IOS 11用户界面设计指导六个原则和
一、标题规则:标题关键词分开的店铺,关键词排名和权重会排在前面。所以店主...
作为一个淘宝卖家,关注自己的店铺权重,是十分重要的,因为这对自己的销量、...
一般的消费者在淘宝买东西的时候都会先输入一个他理解这个产品的词组,顾客的...
淘宝直通车收费方式还是挺好的,所以对于一些资金比较少的淘宝店家来说,推广...
第一步:登录到淘宝卖家中心,点击左侧菜单中的『物流管理-电子面单平台-我的...
推广当然都希望立竿见影,最好来一个点你广告的,就做一笔生意,所以要选择你...
现在开淘宝网店只要交一些保证金就可以完成了,可以说是投资最低的创业成本了...
宝贝滞销,也就是说宝贝长期没有销量,上架之后90天依然没有销量,那么淘宝方...
直通车坑位指的是大家在使用直通车做店铺推广的时候,官方平台给予宝贝的展示...
线下活动对很多网站来说不容易,对于一些静态网站来说更加无从着手。比如技术...
小提示:您应该对本页介绍的“iPhone X适配方案 及 H5调试技巧”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通iPhone X适配方案 及 H5调试技巧的相关事宜。
关键词:3年, iPhone X, 中级, 适配方