当前位置: 首页 > news >正文

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

一、简介

env(safe-area-inset-bottom)和env(safe-area-inset-top)是CSS中的变量,用于获取设备底部和顶部安全区域的大小。
所谓的安全区域就是指在iPhone X及以上的设备中,为避免被屏幕的“刘海”和“Home Indicator”所遮挡或者覆盖的有效区域区域,以确保内容在安全区域内显示。

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

二、应用

  1. 和padding的结合
padding-bottom: env(safe-area-inset-bottom);

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

padding-bottom: calc(20px + env(safe-area-inset-bottom)); 
  1. 和height的结合
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),会导致高度等失效。可做如下兼容:
//兼容普通机型,不识别变量的机型:
height: calc(100vh - 144px);
//兼容苹果手机
height: calc(100vh - 144px - env(safe-area-inset-top) - env(safe-area-inset-bottom));

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

http://www.lryc.cn/news/154419.html

相关文章:

  • 移动端App持续集成体系构建实战
  • Mybatis的关联关系配置一对一,一对多,多对多的映射关系
  • 计算机竞赛 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类
  • 时序预测 | MATLAB实现CNN-BiGRU卷积双向门控循环单元时间序列预测
  • [Rust GUI]0.10.0版本iced代码示例 - progress_bar
  • 使用vue-pdf出现的卡顿,空白,报错,浏览器崩溃解决办法
  • (笔记七)利用opencv进行形态学操作
  • Spring是什么?
  • 电梯SIP-IP五方对讲管理系统
  • leetcode283移动零
  • Docker 部署SpringBoot项目,使用外部配置文件启动项目
  • 电子半导体行业电能质量监测与治理系统解决方案 安科瑞 许敏
  • pdfh5在线预览pdf文件
  • Java智慧工地大数据中心源码
  • 关于人工智能的担忧
  • JVM之强软弱虚引用
  • Python编程练习与解答 练习98:一个数是素数吗
  • vue3+ts+uniapp实现小程序端input获取焦点计算上推页面距离
  • 【2023集创赛】加速科技杯二等奖作品:基于ATE的电源芯片测试设计与性能分析
  • Java入坑之Robot类
  • spring-secrity的Filter顺序+自定义过滤器
  • leetcode 371. 两整数之和
  • Medium: Where to Define Qualified users in A/B testing?
  • POJ 3662 Telephone Lines 二分,最小化第k大的数
  • 【mybatis-plus进阶】多租户场景中多数据源自定义来源dynamic-datasource实现
  • vue3 async await
  • CLion远程Linux开发环境搭建及找不到Linux头文件的解决方法
  • Python综合案例(基本地图使用)
  • maven的scope总结
  • Linux执行命令