混合开发笔记5——h5页面在ios刘海屏适配

news/2024/7/20 21:18:53 标签: ios, html5

ios_0">h5页面在ios刘海屏适配

多种,只总结其中一种(官方适配方案)
在这里插入图片描述
iOS11同时新增了一个特性,constant(safe-area-inset-*),这是Webkit的一个CSS函数,用于获取安全区域与边界的距离,有四个预定义的变量(单位px):

  • safe-area-inset-left:安全区域距离左边界距离,横屏时适配
  • safe-area-inset-right:安全区域距离右边界距离,横屏时适配
  • safe-area-inset-top:安全区域距离顶部边界距离,竖屏下刘海屏为44px,iphone6系列20px,竖屏刘海适配关键
  • safe-area-inset-bottom:安全区域距离底部边界距离,竖屏下为34px,竖屏小黑条适配关键
    一般使用 safe-area-inset-top,safe-area-inset-bottom

使用

(1)html页面头部
让页面充满全屏

<meta name="viewport" content="viewport-fit=cover">

(2)css适配
使用**@supports**查询机型是否支持constant() / env()实现兼容代码隔离,个别安卓也会成功进入这个判断,因此加上-webkit-overflow-scrolling: touch的判断可以有效规避安卓机。
env() 是为了防止有些机型不支持constant()

@supports ((height: constant(safe-area-inset-top)) or (height: env(safe-area-inset-top))) and (-webkit-overflow-scrolling: touch) {
  .fullscreen {
    /* 适配齐刘海 */
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
    
    /* 适配底部小黑条 */
    padding-bottom: costant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
  }
}

http://www.niftyadmin.cn/n/1660012.html

相关文章

混合开发笔记6——解决h5页面在手机端键盘弹起事件

描述&#xff1a;app嵌入h5页面&#xff0c;当页面内有脚部固定导航时&#xff0c;键盘弹起&#xff0c;固定导航栏的位置也会弹起 解决&#xff1a;使用监听watch以及window.onresize() 窗口发生变化时函数 html <div class"footer"v-show"isOriginHeight&q…

循环遍历的区别

循环遍历的区别 forEach 直接循环数组&#xff0c;没有返回值 如何结束循环&#xff1a; 是结束本次循环是可以使用return&#xff0c;但是结束全部循环return无效&#xff0c; 原因&#xff1a;好像是因为forEach不管符不符合都会走完所有的循环&#xff0c;所以return结束…

报错笔记——serve : “vue-cli-service serve“

报错笔记——serve:“vue-cli-service serve” 项目运行编译时报错如图所示&#xff0c;网上搜的删除node_modules并重新npm install根本没有用&#xff1b; 原因&#xff1a;node版本过高&#xff0c;出现不兼容 解决办法&#xff1a;卸载当前node&#xff0c;并安装v10及…

elementui——带建议的输入框远程搜索

elementui——带建议的输入框远程搜索 <el-autocompletev-model"state":fetch-suggestions"querySearchAsync"placeholder"请输入内容"select"handleSelect" ></el-autocomplete> <script>export default {data() …

element——时间选择器当天之后,后一选择器时间不超过前时间选择器

element——时间选择器当天之后&#xff0c;后一选择器时间不超过前时间选择器 <el-date-picker type"date"placeholder"请选择"v-model"startTime" :picker-options"pickerOptions" value-format"yyyy-MM-dd"></e…

element——表单的复杂数组渲染

element——表单的数组渲染及校验(vue) 常见表单渲染及校验 <template><div classtest><el-form ref"form" :model"form" :rules"rules"><el-form-item label"活动名称" propname><el-input v-model&quo…

swiper——轮播slider最后一个元素显示不全

轮播slider最后一个元素显示不全&#xff0c;能拖出来&#xff0c;松手弹回去 slidesPerView: ‘auto’,重要的属性设置&#xff0c;有的人说要给slider元素设置宽高&#xff0c;或者去掉所有的padding&#xff0c;但是slidesPerView: auto’设置过后会使轮播元素长度呈现一行…

ie浏览器兼容——scrollTop

ie浏览器兼容——scrollTop 报错 无法获取未定义或 null 引用的属性“scrollTop” 因为ie不支持scrollingElement 解决 polyfill document.scrollingElement.js https://github.com/yangg/scrolling-element npm install scrolling-element --save 页面或main.js中引入 i…