You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
2.修改 body 内边距。在通用 CSS 中添加下面代码。其中constant和env是 iOS 10+ 上才能识别的 CSS 方法,safe-area-inset-bottom是底部的安全距离,一般是34px(防止 iPhone X Plus 之类的,还是用个统一的官方变量比较好)(注意:样式需要放到最后,保证不会被覆盖)
说明
iPhone X 适配理论上需要在 UI 预先适配的基础上再做前端页面的适配,以保证 iPhone X 下的最佳体验。但因为项目复杂,涉及改动点较多,可暂时采用此方案。
局限性主要体现在
fixed
元素无法使用通用的样式适配。且涉及到是否吸底
,吸底元素是否可以简单移动位置还是需要增加元素高度又能保证中间内容看起来“垂直居中”。需要适配点
通用解决方案
针对前面4个适配点,给出适配方案如下:
1.修改 meta 标签中,加入
viewport-fit=cover
,使在 iPhone X 下页面全屏覆盖,并且后面相应的 hack 属性能生效。2.修改 body 内边距。在通用 CSS 中添加下面代码。其中
constant
和env
是 iOS 10+ 上才能识别的 CSS 方法,safe-area-inset-bottom
是底部的安全距离,一般是34px
(防止 iPhone X Plus 之类的,还是用个统一的官方变量比较好)(注意:样式需要放到最后,保证不会被覆盖)3.针对
fixed
定位的元素,因为其是相对于浏览器窗口
进行定位的,所以 body 的内容区域无法限制其位置,需要调整其位置。采用以下通用 js 解决。(注意:需放置页面最后,保证页面元素已渲染到页面,用户能感知到页面中 fixed 定位元素会在显示后往上移一段,至于是否会遮挡到中间滚动块还待观察,因此建议在项目允许的情况下,对fixed
元素最好用 CSS 做个性化适配)参考
The text was updated successfully, but these errors were encountered: