使用苹果官方推出适配方案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 以上的