h5逻辑_解决h5页面嵌入ios兼容性问题

这篇具有很好参考价值的文章主要介绍了h5逻辑_解决h5页面嵌入ios兼容性问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安全区域

如下图所示~ 蓝色部分为安全区域。处于安全区域内的内容不受圆角、齐刘海、小黑条的影响。
h5 ios安全区域,h5,javascript,开发语言,ecmascript
若是将h5页面嵌入app中,就需要进行适配—> 让h5页面展示在安全区域内。

tips: 安全区域是在ios11之后并且是iPhoneX及以上机型才有的。 因此我们只需适配以上机型其余机型不需考虑~

viewport-fit

iPhoneX对比起以前其他的手机,屏幕顶部变成了刘海屏,底部取消了物理按键改成了小黑条,这种改动导致了web开发产生了新的适配问题。

为了适配 iPhoneX,对现有 viewport meta 标签添加一个扩展属性:viewport-fit(iOS11 新增特性),用于设置网页在可视窗口的布局方式,可设置三个值:

contain: 网页内容显示在安全区以内
cover:网页内容充满整个屏幕
auto:默认值,跟 contain 表现一致
h5 ios安全区域,h5,javascript,开发语言,ecmascript

safe-area-inset-*

safe-area-inset-* 其实本质上是一个数值(不同手机值不同), 可以获取不同手机型号安全区距离上下左右的间距

  • safe-area-inset-left:安全区域距离左边边界的距离
  • safe-area-inset-right:安全区域距离右边边界的距离
  • safe-area-inset-top:安全区域距离顶部边界的距离
  • safe-area-inset-bottom :安全距离底部边界的距离
适配

需要将meta标签的 viewport-fit属性值设置为cover,表示网页内容完全覆盖可视窗口

  <meta name="viewport" content="width=device-width,initial-scale=1.0,viewport-fit=cover">

此时,h5页面嵌入app之后,网页内容完全覆盖可视窗口(包含刘海儿+ 小黑条)。我们可以根据自己的需求来动态设置

示例1

现在设置一个固定在页面底部的按钮,在h5展示如下:
h5 ios安全区域,h5,javascript,开发语言,ecmascript
但是我们希望在ios上不要与小黑条重叠,展示如下:
h5 ios安全区域,h5,javascript,开发语言,ecmascript
因此在底部这块区域定位时,我们需要给这块底部元素添加padding,padding值为安全区域距离底部的距离->safe-area-inset-bottom

tips: 一半这种固定定位 小黑条的颜色会和这块元素颜色一致,因此设置padding即可~

position: fixed;
bottom: 0px;
height: 60px;
width: 355px;
background: #fff;
display: flex;
padding: 0 10px;
align-items: center;
justify-content: space-between;
padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */
padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
.kefu{
  ...
}
.btn{
  ...
}
示例2

h5 ios安全区域,h5,javascript,开发语言,ecmascript
如下图,这是一个弹框,我们希望弹框底部的按钮不要与小黑条重合,此时有两个解决方案文章来源地址https://www.toymoban.com/news/detail-629471.html

  • 方案1: 给弹框设置padding-bottom
      padding-bottom: calc(14px + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
      padding-bottom: calc(14px + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
    
  • 方案2: 给关闭按钮设置margin-bottom
    margin-bottom: calc(12px + constant(safe-area-inset-bottom));
    margin-bottom: calc(12px + env(safe-area-inset-bottom));
    

到了这里,关于h5逻辑_解决h5页面嵌入ios兼容性问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 嵌入Vue项目 flapMap 浏览器兼容性问题

    最近有个需求,Qt工程需要嵌入vue项目,本来是很简单的事情。在我的PC上启动Vue项目,同事PC上用浏览器通过IP地址可以正常加载vue项目,但用Qt嵌入总是失败。问题定位步骤如下: 1)换了一个简单的vue项目,发现没有问题,Qt工程能正常加载vue项目 2)由于Qt不像浏览器那样

    2024年02月12日
    浏览(40)
  • 如何处理Flutter应用在iOS平台上的兼容性问题

    大家好,我是咕噜铁蛋!今天我想和大家聊聊一个常见但令人头疼的问题——Flutter应用在iOS平台上的兼容性问题。在开发跨平台应用时,尤其是在Android和iOS两大平台上,兼容性问题总是难以避免。而Flutter,作为一个旨在解决跨平台开发难题的框架,虽然大大简化了这一过程

    2024年04月14日
    浏览(45)
  • element-ui的el-select在ios移动端的兼容性适配

    今天的我在做一个 h5 的项目,发现 element-plus (我使用的版本是 2.2.19 )里的 el-select 在 ios 上需要点击2次才能打开下拉框。经过很久的研究和查阅无数资料(包括百度、谷歌搜索到的),都没有解决这个问题。最后我探究里面的根本原因,最后才自己找到解决方案, 可以仔

    2024年01月18日
    浏览(50)
  • 解决flex gap兼容性问题

    一个项目写下来,在网页端预览的时候正常,结果到产品经理手上。 设计稿样式 实际产品手机上样式 产品:“你这玩意儿怎么没间距?” 我:“为什么我的正常???呐呐呐你看我手机(来自RedmeK50Utral)” 产品:“哦,你看我的手机(来自荣耀20)” 我:“。。。” 至此

    2024年02月07日
    浏览(55)
  • 解决前端浏览器兼容性问题

    解决前端浏览器兼容性问题时前端开发中的一项重要任务。以下是一些常用的方法来解决这类问题: 1、使用css前缀: 不同浏览器可能对某些CSS属性有不同的前缀要求。可以使用CSS前缀来覆盖不同浏览器的样式需求。例如,使用 -webkit 前缀来适配WebKit(Chrome、Safari)浏览器

    2024年02月09日
    浏览(48)
  • 如何解决群晖硬盘兼容性问题

    首先,在群晖设置-终端-启用SSH。然后,下载putty,用administrator管理权限组的账号登录, 如输入“ssh 你的DSM用户名@IP”,输入登录密码登录。最后,运行以下命令切换到root权限。 sudo - i 进到系统配置文件夹。 cd  /etc.default 备份配置文件 cp  synoinfo.conf synoinfo.conf2 编辑配置文

    2024年02月09日
    浏览(211)
  • vc 6.0++解决兼容性及闪退问题

    文章同步于我的个人博客https://quan9i.github.io/vc++/,欢迎大家访问 我在安装好vc6.0后出现了如下问题,总结如下 在安装完成后运行程序会出现不兼容的情况,如下图所示 此时我们右键一下,然后选择打开文件所在位置 找到MSDEV文件,并更名为MSDEV2 此时我们右键快捷方式,点击

    2024年02月04日
    浏览(58)
  • 解决SpringBoot3整合Druid的兼容性问题

    本文原创作者:谷哥的小弟 作者博客地址:http://blog.csdn.net/lfdfhl 截止目前,Druid对于SpringBoot3的支持不够全面和友好;存在一些兼容性的问题,导致项目报错。 在此,针对该问题提供可行的解决方案;以供各位参考。 请您使用以下依赖: 图示如下: 请勿使用以下依赖: 请

    2024年02月03日
    浏览(48)
  • Microsoft 兼容性遥测 CompatTelRunner.exe占用资源,怎么解决?

    CompatTelRunner.exe 是属于 Windows 操作系统的原始文件,被称为 Microsoft Compatibility Telemetry,Microsoft 兼容性遥测,占用资源高,关闭方法如下: 1.运行gpedit.msc - 计算机设置 - 管理模板 - Windows组件 - 数据收集和预览版 - 右侧允许遥测设置为 已禁用。 2.运行services.msc,禁用或手动以下

    2024年02月08日
    浏览(34)
  • 前端浏览器的兼容性问题探讨和解决方案

    解决不同浏览器之间的兼容性问题,可以采取以下一些常用的解决方案: 使用 CSS Reset:不同浏览器对于默认样式的定义存在差异,使用 CSS Reset 可以将不同浏览器的默认样式重置为统一的基准样式,从而减少浏览器之间的差异。 使用 CSS Hack 或浏览器前缀:某些 CSS 属性或值

    2024年02月14日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包