适配 IOS 安全区域

安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)影响。

造成这个问题的主要原因就是 iphoneX 之后在屏幕上出现了所谓的刘海屏,而且在屏幕下方加了一条小黑条。

在开发时,需要对顶部和底部预留一点空间,防止页面的内容被这些元素遮挡。在 iOS11 新增的特性中,Webkit 包含了两个新的函数和四个预定义的常量用来适配 IOS 的安全区域。

  1. constant():在 IOS11.2 系统之前使用。 constant()IOS11.2 系统之后被废弃了。

  2. env() :在 IOS11.2 系统之后使用。

  3. safe-area-inset-top:安全区域距离顶部边界距离,状态栏+导航栏大约为88px。

  4. safe-area-inset-left:安全区域距离左边边界距离,竖屏时为0。

  5. safe-area-inset-right:安全区域距离右边边界距离,竖屏时为0。

  6. safe-area-inset-bottom:安全区域距离底部边界距离,大约高度为34px。

    body{
    /* 兼容 iOS < 11.2 /
    padding-top: constant(safe-area-inset-top);
    padding-left: constant(safe-area-inset-left);
    padding-right: constant(safe-area-inset-right);
    padding-bottom: constant(safe-area-inset-bottom);
    /
    兼容 iOS >= 11.2 */
    padding-top: env(safe-area-inset-top);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
    }

相关推荐
雪兽软件8 天前
告别办公束缚!2026年支持移动端操作的进销存软件精选
移动端·进销存软件·订单日记
韩曙亮16 天前
【Web APIs】移动端轮播图案例 ( 轮播图自动播放 | 设置无缝衔接滑动 | 手指滑动轮播图 | 完整代码示例 )
前端·javascript·css·html·轮播图·移动端·web apis
韩曙亮17 天前
【Web APIs】移动端返回顶部案例 ( 返回顶部按钮 显示 / 隐藏 设置 | 返回顶部操作 )
前端·javascript·css·html·移动端·web apis·返回顶部
招风的黑耳24 天前
移动端数据可视化高保真原型模板:开启Axure高效设计新征程
axure·数据可视化·移动端
招风的黑耳1 个月前
【Axure高保真原型】120页移动端高保真数据可视化模板
axure·数据可视化·移动端
装不满的克莱因瓶1 个月前
Windows下安装Dart
android·flutter·dart·移动端
RollingPin1 个月前
React Native与Flutter的对比
android·flutter·react native·ios·js·移动端·跨平台开发
装不满的克莱因瓶1 个月前
【2026最新最全】Android Studio安装教程
android·ide·flutter·app·android studio·移动端
招风的黑耳4 个月前
商城类电商购物APP网购原型——实战项目原型
app·axure·电商·移动端