兼容性问题汇总

365 阅读1分钟

调试ios

  • 手机 ->设置->Safari ->高级->JavaScript 打开、Web检查器 打开
  • ios手机数据线连接电脑
  • 在Mac上打开Safari: Safari->偏好设置->选择 “在菜单栏中显示“开发””选项.
  • Safari->开发 image.png

iPhone安全距离适配

注意:网页默认不添加扩展的表现是 viewport-fit=contain,需要适配 iPhoneX 必须设置 viewport-fit=cover,这是适配的关键步骤。

  • contain: 可视窗口完全包含网页内容(左图)
  • cover:网页内容完全覆盖可视窗口(右图)
  • auto:默认值,跟 contain 表现一致

新增 viewport-fit 属性

使得页面内容完全覆盖整个窗口


   <meta name="viewport" content="width=device-width, viewport-fit=cover">

页面主体内容限定在安全区域内

这一步根据实际页面场景选择,如果不设置这个值,可能存在小黑条遮挡页面最底部内容的情况。

body {

padding-bottom: constant( safe-area-inset-bottom); /* 兼容 iOS < 11.2 */ 
padding-bottom: env( safe-area-inset-bottom); /* 兼容 iOS >= 11.2 */

}

第三步:fixed 元素的适配

也可以设置固定高度,或者对特定元素padding-bottom进行修正

{ 
height: calc(60px(假设值) + constant(safe-area-inset-bottom));
height: calc(60px(假设值) + env(safe-area-inset-bottom)); 
}

注意,这个方案需要吸底条必须是有背景色的,因为扩展的部分背景是跟随外容器的,否则出现镂空情况。