尤明明Blog

网站建设 | 前端切图,技术不仅是一种专业,更是一种责任!

您的当前位置: 首页 » 前端学习 » 前端规范 »

前端切图如何适配 iPhone X 的刘海屏幕?

2019-11-12   Umming   前端规范    评论(0)    浏览(1881)


因为 iPhone X 的刘海设计,Web 在 iPhone X 横屏时,可能会有些问题:

默认情况,iPhone X 会将页面填充到安全区域(safe area),就像上面的图一样,一般情况下是没有问题的;

但如果是全屏 Web App 就会有问题了,比如背景色和页面的契合程度之类的;

有的 iOS app 内置 WKwebview 可能会为了避免一些bug,而采用统一的行为,就是禁用 iOS 11 自己的内容区域判断,从而让 H5 默认全屏,如下图:

1、默认全屏

2. 设置页面边距为安全区域边距

body{  
padding:
constant(safe-area-inset-top)
constant(safe-area-inset-right)
constant(safe-area-inset-bottom)
constant(safe-area-inset-left);  
}


嗯,constant() 以及 safe-area-inset-top safe-area-inset-right safe-area-inset-bottom safe-area-inset-left 是 iOS 11 webview 新增加的特性,专门用于应对刘海的。。。

当然,这里的padding只是用于匹配iPhone X默认的安全区域的,你可以设置任何值,不过建议要不小于默认的安全区域值。

251701554904.png

当前版本,横屏时,各属性的值:

safe-area-inset-top = 0  

safe-area-inset-right = 44px  

safe-area-inset-bottom = 21px  

safe-area-inset-left = 44px  

竖屏时各值都是 0,但竖屏时需要特别留意 status-bar(44px) 和 home-indicator(34px)。

标签: 浏览器兼容性

本文链接:https://www.umming.com/standard/151.html

声明:本站信息由网友自行发布或来源于网络,真实性、合法性由发布人负责,请仔细甄别!本站只为传递信息,我们不做任何双方证明,也不承担任何法律责任。文章内容若侵犯你的权益,请联系本站删除!


发表评论:

//