首页 > 其他分享 >使用safe-area-inset-*来适配iPhoneX的刘海屏及底部横条区域

使用safe-area-inset-*来适配iPhoneX的刘海屏及底部横条区域

时间:2024-02-29 18:24:16浏览次数:24  
标签:屏及 area 适配 safe bottom padding inset 横条

之前一直沿用同事写的媒体查询处理这个问题,所有固定在底部展示的按钮栏都要用媒体查询来定义距离底部的距离,着实不太方便,而且媒体查询比较有局限性,不太可能把市面上所有机型都适配一遍。

刚好要处理折叠屏适配问题,重构了一个复杂页面的布局,就找到了使用safe-area-inset-*来适配iPhoneX底部横条区域的方法,详见小程序利用safe-area-inset-*兼容iPhoneX

实现方案:

如果只是要适配底部横条区域的话,只需要使用下边代码即可:

padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);

如上边两张图片,一个是iphoneX机型,一个是其他机型。当然这两个按钮栏是有内边距的,可以这样写:

padding-bottom:20rpx;
padding-bottom: calc(20rpx + constant(safe-area-inset-bottom));
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));

更多扩展:

除了设置底边距,还可以设置顶部甚至左侧、右侧的内边距:

safe-area-inset-top,
safe-area-inset-right,
safe-area-inset-bottom,
safe-area-inset-left

当然,如果是开发小程序的话,只要使用小程序的默认的头部导航,基本用不上对头部刘海屏或后边的胶囊屏做处理的。

如果要是使用了自定义导航的话,那就必须要处理这个高度了。

标签:屏及,area,适配,safe,bottom,padding,inset,横条
From: https://www.cnblogs.com/xyyt/p/18045055

相关文章

  • 国产数据库兼容性认证再下两城,极狐GitLab 国产适配更进一步
    近日,极狐GitLab与两大国产数据库TDSQL和人大金仓完成兼容性认证。极狐GitLab在国产化适配、国产化生态建设上有了进一步的发展。极狐GitLab团队分别和TDSQL和人大金仓数据库团队做了严格的测试验证,完成了这两大国产数据库和极狐GitLab企业级一体化DevOps平台的兼容性认......
  • 适配http分发Directory.Build.props文件,需要替换默认的微软sdk:8.0映像
    背景我们是把Directory.Build.props及其Import的文件,都放在http://dev.amihome.cn那么dockerbuild的时候,也是需要下载Directory.Build.props及其Import的文件的。为了统一这个操作,减少到处写下载脚本的工作,我们把这个下载的脚本,放在映像里。所以我们以mcr.microsoft.com/dotn......
  • 适配器模式
    简介适配器模式是一种结构型设计模式,它允许将一个类的接口转换成客户端所期望的另一个接口。适配器模式通常用于解决两个不兼容接口之间的兼容性问题,使得原本由于接口不匹配而无法一起工作的类能够协同工作。适配器模式主要由三个角色组成:目标接口(TargetInterface):客户端所期......
  • 设备管理器-网络适配器-Remote NDiS-based Internet Sharing Device(基于远程NDIS的互
    RemoteNDiS-basedInternetSharingDevice(基于远程NDIS的互联网共享设备)是一种网络接口遥控分享装置。这种设备允许通过USB连接将智能手机等设备连接到电脑,从而充当无线网卡的作用,使电脑能够连接到互联网。具体功能作用如下:充当无线网卡:当手机连接到互联网后,通过USB绑定,这个......
  • Python Django适配dm8(达梦)数据库
    官方文档https://eco.dameng.com/document/dm/zh-cn/start/python-development.htmlDjango适配达梦https://blog.csdn.net/qq_35349982/article/details/132165581https://blog.csdn.net/weixin_61894388/article/details/126330168项目适配达梦升级或安装依赖Django==3......
  • ssts-hospital-web-master项目实战记录十三:项目迁移-架构设计(适配器、设备驱动)
    记录时间:2023-02-24适配器adapter.jsadapter/adapter.ts:全部1.属性 2.函数 2.1.标准适配器 2.2.Ajax操作 adapterPOS.jsadapter-pos.ts:全部1.入口2.属性   3.函数  设备驱动devicedriver.jsdevice-driver/index.ts:全部1.以发卡机为例......
  • 设计模式结构型之适配器模式
    实验介绍本节实验为大家带来了适配器模式,适配器模式是作为两个不兼容的接口之间的桥梁,可以将变化都封装于它本身,提供简单统一的接口使用。从一个有趣的例子开始为大家逐步的讲解适配器,帮助大家学习其基本的概念。随后为大家介绍了适配器在前端中的真实应用,加深对适配器的认识。最......
  • vue3+vite 移动端适配postcss-pxtorem插件
    1、安装插件npmipostcss-pxtorem-D2、与package.json同级目录创建postcss.config.js文件module.exports={plugins:{autoprefixer:{overrideBrowserslist:["Android4.1","iOS7.1",......
  • Android家庭记账本开发第五天:ListAdapter适配器的编写
    昨天讲了数据库相关的操作现在来看我们当初在MainActivity的Java文件当中的initData方法:1@SuppressLint("Range")2privatevoidinitData(){3helper=newDBHelper(MainActivity.this);4list=newArrayList<>();5SQLiteDatabasedb=h......
  • 前端知识汇总2(css,css2, 页面布局,移动端适配)
    固定定位(fixed)固定定位是绝对定位的一种特殊形式。它以浏览器窗口作为参照物来定义网页元素。当position属性的取值为fixed时,即可将元素的定位模式设置为固定定位。当对无素设置固定定位后,它将脱离标准文档流的控制,始终依据浏览器窗口来定义自己的显示位置。不管浏览器滚动条......