使用苹果官方推出适配方案css函数env()、constant()来适配

env()和constant(),是IOS11新增特性,用于设定与边界的距离,一共有4个变量:


safe-area-inset-left:        距离左边边界的距离
safe-area-inset-right:      距离右边边界的距离
safe-area-inset-top:        距离顶部边界的距离
safe-area-inset-bottom :底部边界的距离

在 IOS11.2 以前,可以使用constant()函数,在 IOS11.2 以后,它就被废了,可以使用env()替代

例:

padding-bottom: constant(safe-area-inset-bottom); // 兼容 IOS 11.2 以下
padding-bottom: env(safe-area-inset-bottom); // 兼容 IOS 11.2 以上

也可以这样写:可以预设一个高度

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

注意二者的顺序不能发生变化  必须   constant 在前  env 在后 
也可以单独写但是单独写的话就没法做到完整的适配了,或者你可以确定用户全都是  IOS 11.2 以下的,或者都是IOS 11.2 以上的

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐