小程序IOS安全区域优化:safe-area-inset-bottom

打印 上一主题 下一主题

主题 917|帖子 917|积分 2751

最近发现公司的小程序代码中有一些很陌生的代码safe-area-inset-bottom,本以为是什么高级用法,查阅资料才发现是我孤陋寡闻了,原来是css的属性。
先来说一下用法及作用:
IOS全面屏底部有小黑线,位于底部的元素会被黑线阻挡,可以使用以下样式:
  1. .model{
  2.         padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */
  3.         padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
  4. }
复制代码
获取高度时,可用:
  1. .model{
  2.         height: calc(100% -  constant(safe-area-inset-bottom));
  3.         height: calc(100% -  env(safe-area-inset-bottom));
  4. }
复制代码
  tips:先使用constant 再使用 env
  知识点扫盲

下面把相关知识点整理如下:
env() 与 constant() 设置安全区域,是css里IOS11新增的属性,webkit的css函数,用于设定安全区域与边界的距离,有4个预定义变量:


  • safe-area-inset-left: 安全区域距离左边界的距离
  • safe-area-inset-right: 安全区域距离右边界的距离
  • safe-area-inset-top: 安全区域距离顶部边界的距离
  • safe-area-inset-bottom: 安全区域距离底部边界的距离
需要的注意一点:H5网页设置 viewport-fit=cover的时候才会生效,小程序里的viewport-fit默认是 cover。
为了更好的理解上文意思,我们来看一下未适配的底部效果:


适配后的效果:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

科技颠覆者

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表