小程序进阶-env(safe-area-inset-bottom)的使用

一、简介

env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小。

所谓的安全区域就是指在iPhone X及以上的设备中,为避免被屏幕的"刘海"和"Home Indicator"所遮挡或者覆盖的有效区域区域,以确保内容在安全区域内显示。

bash 复制代码
这个变量最好和padding或者height(可结合calc一起)结合使用,会达到最好的效果。

二、应用

  1. 和padding的结合
css 复制代码
padding-bottom: env(safe-area-inset-bottom);

如果想让安全区域再靠上20px,则结合calc使用如下:

css 复制代码
padding-bottom: calc(20px + env(safe-area-inset-bottom)); 
  1. 和height的结合
css 复制代码
height: calc(100vh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom)) ;
  1. 机型兼容
    在某些机型上识别不出env(safe-area-inset-bottom)和env(safe-area-inset-top),会导致高度等失效。可做如下兼容:
css 复制代码
//兼容普通机型,不识别变量的机型:
height: calc(100vh - 144px);
//兼容苹果手机
height: calc(100vh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom));

如果识别这两个变量,则执行第二句,覆盖第一句;如果不识别这两个变量呢,则不识别第二句,执行第一句。这就是一个完美的兼容写法!

相关推荐
吴声子夜歌9 天前
小程序——布局示例
小程序
luffy54599 天前
微信小程序页面使用类似filter函数的wxs语法
微信小程序·小程序
Slow菜鸟9 天前
微信小程序开发(二)目录结构完全指南
微信小程序·小程序
小小王app小程序开发10 天前
海外盲盒小程序抽赏玩法分析(附跨境技术落地要点)
小程序
一叶星殇10 天前
微信小程序请求拦截器踩坑:避免重复刷新 token
微信小程序·小程序
hello kitty w10 天前
4. 基本语法
小程序
CHU72903510 天前
探索淘宝扭蛋机小程序:创意互动与趣味体验的融合
小程序
头发还在的女程序员10 天前
【免费下载】企业能源管理系统
小程序·策略模式·能源管理
吴声子夜歌10 天前
小程序——样式与布局
小程序
hello kitty w10 天前
3.小程序方法的封装
javascript·小程序