当我们在做app或者小程序的时候,如果是自适应屏幕高度,或者是用定位到底部按钮的时候,iphoneX底部的返回横条老是遮挡底部内容,如果巧妙的设计代码,使它能适配到iphoneX呢?
比如我写了一个底部按钮,漂浮在所有内容的上方,以下代码当在iphoneX的时候,就会被遮挡大约20px
// 正常手机使用的代码
/* 外层盒子 */
.hasbtn-padding{
padding-bottom: 140rpx;
}
/* 底部定位的按钮 */
.bottom-button-box{
width: 100%;
height: 100rpx;
position: fixed;
left: 0;
bottom: 0;
box-shadow: 0 -5rpx 5rpx #efefef;
display: flex;
align-items: center;
justify-content: space-between;
background-color: #fff;
}
解决办法:
使用css适配到有横条的手机,把外层盒子的padding-bottom修改的同时,需要把按钮的底部距离设置了,按钮加了个after是为了防止外层盒子滑动的时候,横条处的内容穿透。
/* 适配iphonex */
@supports (bottom: env(safe-area-inset-bottom)) {
.hasbtn-padding{
padding-bottom:calc(env(safe-area-inset-bottom) + 140rpx); // 这里是重点
}
.bottom-button-box{
bottom:env(safe-area-inset-bottom); // 这里是重点
&:after{
content:'';
height:env(safe-area-inset-bottom); // 这里是重点
position: absolute;
top:100%;
left: 0;
right:0;
background-color: #fff;
}
}
}