在适配iPhone X 的时候,首先要在head处添加meta,使页面充满屏幕
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,viewport-fit=cover">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
然而iPhone X 增加了底部手势的提醒,如果页面内容过于贴近底部,会造成按钮误触的情况,为了避免这种情况,可以使用IOS的env变量来设置底部导航栏或者其他的元素。
举个例子:
属性如下,而且顺序不能调转
padding-bottom: constant(safe-area-inset-bottom); /* 兼容 iOS < 11.2 */
padding-bottom: env(safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */
详细例子:
<div class="header"></div>
<div class="content"></div>
<div class="footer"></div>
css
header{
height:50px;
}
content{
height:300px;
}
footer{
position:fixed;
bottom:0;
height:80px;
padding-bottom: env(safe-area-inset-bottom);
}
/*假如需要全部适配*/
body{
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);
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);
}
假设需要横屏兼容
body{
padding-left: env(safe-area-inset-left);
}