利用safe-area-inset-*兼容iPhoneX

分别创建屏幕上边框,右边框,下边框,左边框安全距离:
safe-area-inset-top,
safe-area-inset-right,
safe-area-inset-bottom,
safe-area-inset-left

使用:
iOS 11
padding-top: constant(safe-area-inset-top);
padding-right: constant(safe-area-inset-right);
padding-bottom: constant(safe-area-inset-bottom);
padding-left: constant(safe-area-inset-left);

iOS 11.2 beta及其后
padding-top: env(safe-area-inset-top);
padding-right: env(safe-area-inset-right);
padding-bottom: env(safe-area-inset-bottom);
padding-left: env(safe-area-inset-left);

兼容性写法:
padding-top: 10px;
padding-top: constant(safe-area-inset-top);
padding-top: env(safe-area-inset-top);

与calc合用:
padding-top: 10px;
padding-top: calc(10px + constant(safe-area-inset-top));
padding-top: calc(10px + env(safe-area-inset-top));

终!使用sass@mixin:
@mixin x-padding-bottom($val:0px) {
padding-bottom: $val;
padding-bottom: calc(#{$val / 2} + constant(safe-area-inset-bottom)); /* no */
padding-bottom: calc(#{$val / 2} + env(safe-area-inset-bottom)); /* no */
}

注意!!!
1、默认值为0px,不是0,原因是calc不支持与0计算。
2、小程序单位为rpx,一般都会转换为rpx,但是calc不支持,所以不允许转换,保持px。

转载自:https://developers.weixin.qq.com/community/develop/article/doc/000604d707c5b023a049ba7125b413

参考文档:https://webkit.org/blog/7929/designing-websites-for-iphone-x/?hmsr=funteas.com&utm_medium=funteas.com&utm_source=funteas.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值