美文网首页
iphoneX全屏适配

iphoneX全屏适配

作者: 放任自由f0 | 来源:发表于2019-07-13 18:21 被阅读0次

iphoneX的面部识别功能很强大。但是在浏览器屏幕显示上,在观看上不会引起问题,但是在默认情况下会有一些显示问题。

1、因为正常情况下会有上下两个白色的边框,如果网页背景色不是白色或者其他单色的颜色会显得非常突兀,

解决方式:给body标签加上background-color,背景色为网页颜色。

2、如果你喜欢对设计有额外的控制,或者使用渐变或图像作为背景,那么设置背景颜色可能是不可行的。在苹果的iOS的最新版本增加了viewport-fit,全屏幕显示网页,在meta标签把viewport设定为

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

3、设置safe-srea-inset-*确保安全边界:

因为横屏时画面右侧会被那一块感应器给挡住,而Home Bar等空间由于保留给系统使用,链接也会失效,会造成体验不良的状况。Apple提供了几个CSSProperties来处理:

constant(safe-area-inset-top)

constant(safe-area-inset-right)

constant(safe-area-inset-bottom)

constant(safe-area-inset-left)

在设置viewport-fit后使用这几个css属性:

.container {
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);
}
就可以修正全屏时内容与系统保留区重叠的问题。

@media only screen and (device-width: 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3){

body{
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}

.iphonex-pt{
padding-top: constant(safe-area-inset-top);
padding-top: env(safe-area-inset-top);
}
.iphonex-pb{
padding-bottom: constant(safe-area-inset-bottom);
padding-bottom: env(safe-area-inset-bottom);
}
.iphonex-mt{
margin-top: constant(safe-area-inset-top);
margin-top: env(safe-area-inset-top);
}
.iphonex-mb{
margin-bottom: constant(safe-area-inset-bottom);
margin-bottom: env(safe-area-inset-bottom);
}
.iphonex-pl{
padding-left: constant(safe-area-inset-left);
padding-left: env(safe-area-inset-left);
}
.iphonex-pr{
padding-right: constant(safe-area-inset-right);
padding-right: env(safe-area-inset-right);
}
.iphonex-ml{
margin-left: constant(safe-area-inset-left);
margin-left: env(safe-area-inset-left);
}
.iphonex-mr{
margin-right: constant(safe-area-inset-right);
margin-right: env(safe-area-inset-right);
}
.iphonex-bd-top-bg{
border-top: 88px solid transparent;
}
.iphonex-bd-top{
border-top: 44px solid transparent;
}
.iphonex-bd-bottom{
border-bottom: 34px solid transparent;
}
}

3.js 方法,有些接口必须用js 去处理,不能用css样式实现,那么就可以这样做

if((window).width() === 375 &&(window).height() === 724 && window.devicePixelRatio === 3){

    $(".phonex-pb").css("padding-bottom","34px");

}

相关文章

网友评论

      本文标题:iphoneX全屏适配

      本文链接:https://www.haomeiwen.com/subject/igvmkctx.html