所有分类
  • 所有分类
  • 后端开发
H5 页面在 iPhoneX 显示适配的注意事项及实战案例

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

这次给大家带来H5页面在iPhoneX显示的适配问题,H5页面在iPhoneX显示适配的注意事项有哪些,下面就是实战案例,一起来看一下。iPhoneX的适配---高度统计5.iPhoneX的适配---媒体查询2.页面元素使用了固定定位的适配

最近我碰到了大麻烦事,H5页面在iPhoneX上看起来不太对劲。iPhoneX的屏幕大小、分辨率还有形状都跟以前的iPhone不一样,所以我们的H5页面在上面看起来很糟糕。为了解决这个问题,我仔细研究了iPhoneX的适配方法,还结合实际情况,总结出来一些需要注意的地方。今天,我就把这些心得告诉你们,希望能帮到你们。

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

1.iPhoneX屏幕特性的变化

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

首先,你得知道iPhoneX这个新家伙的屏幕跟以前的不一样在哪儿。它用上了最新的OLED屏,分辨率高达2436×1125像素,比iPhone8那个1334×750像素高多了去。还有就是,它的屏幕比例换了个口味,从16:9换成了18.5:9,这样看起来屏幕就拉长了,视野也宽阔了些。不过,因为屏幕上下两边的特殊设计,给做H5页面的人带来了点小麻烦。

你看这个iPhoneX,前边就是那个大家都知道的“齐刘海”,那是因为它要装摄像头和其他传感器。后面,有个叫HomeIndicator的虚拟按键,用来代替实体Home键嘞。这俩玩意儿都会占点屏地方,万一你做的H5页面没搞好适配,可能就会被遮住,那多不好!

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

2.安全区域的概念

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

为了不让iPhoneX那奇葩的设计挡住我们的关键信息,苹果给我们提供了个SafeArea的概念。这个区域就是手机屏幕上那些不会被手机边缘、传感器壳和HomeIndicator遮住的地方。所以咱们做H5页面的时候,最好把重要的东西放在这片安全区里,这样才能让大家看得清楚明白!

那么,要搞清安全区域在哪儿?首先得知道iPhoneX的屏幕密度(PPI)跟大小有啥关系。屏幕密度就是指每平方英寸能显示多少像素点,跟屏幕大小和分辨率都有关。算一下就能得出iPhoneX的安全区域到底是多大,这样才能更方便地做适配。

3.viewport-fit元标签的作用


看这里!苹果在iOS11里新添加了一个叫viewport-fit的元标签,很好用!主要是为了让你怎么方便怎么来,控制iPhoneX上展示出来的H5页面效果。viewport-fit的值也就是三选一:auto、contain或者cover。如果你没特别设置,那默认使用的就是auto,这样一来系统就能帮你搞定,保证页面元素不超出屏幕范围哟。

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

只是,若要把网页画面看得更细致,你得调整一下那个叫做viewport-fit的参数,设成contain或者cover就行了。contain就是让网页内容尽量填满屏幕,但可能会留下一些空隙;而cover,就是让网页内容盖住整个屏幕,不过可能会被手机的圆角给挡住一部分。所以,只要选好这个参数,就能让网页看起来更舒服!

4.使用CSS函数constant()进行适配

除了viewport-fit这个新玩意儿,还有一个叫做constant()的CSS小助手,它能帮咱们轻松搞定网页布局。只要在使用中使用constant()函数,就能够根据屏幕大小来调整,灵活度超高!

比如说,我们能用constant(safe-area-inset-top)拿到顶部安全区的高,再用constant(safe-area-inset-bottom)拿到底部安全区的高,然后把这俩数值用到网页布局里去。这样的话,就算iPhoneX的屏幕大小变了,咱们的网页还是照样好看。

body {
    padding-top: constant(safe-area-inset-top);   //为导航栏+状态栏的高度 88px            
    padding-left: constant(safe-area-inset-left);   //如果未竖屏时为0                
    padding-right: constant(safe-area-inset-right); //如果未竖屏时为0                
    padding-bottom: constant(safe-area-inset-bottom);//为底下圆弧的高度 34px       
}

5.实战案例分析

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

我做了个H5页面放到iPhoneX上试试效果,试过以后发现,只要把viewport-fit设好,用constant()函数调好,咱们的H5页面就能百分百适配iPhoneX!不管是字啊图啊还是视频,统统都能看得清清楚楚,不会有被手机圆角挡住的问题~

@media only screen and (width: 375px) and (height: 690px){
    body {
        background: blue;
    }
}

此外,我又发现了个小技巧!当我们用渐变做背景时,把viewport-fit调成”cover”,这样渐变色就能铺满整个屏幕,看起来更舒服~还有就是,如果你要用定好位的元素,那就把viewport-fit设成”contain”,这样子的话,元素绝对不会被HomeIndicator遮住,放心大胆地用!

6.适配过程中遇到的问题及解决方案

调整页面别的地方后,用const()函数就没出过乱子!因为之前有些地方没调好,导致布局有点儿乱。所以,我把页面其他地方都弄好了,这样就能适应iPhoneX的屏幕~

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

最让我头疼的是,有些网页即使没设viewport-fit元标签,内容也能刷屏,糟糕的体验!为了解决这问题,我就加了个viewport-fit元标签,然后把它设成了contain,这下子,内容就不会跑出屏幕外。

this is subElement

7.总结与展望

这次搞定iPhoneX的适配之后,真心觉得H5页面在它上面太考验技术!不过得了窍门儿的话,那些问题也就见招拆招,让大家看起来更爽不是么。

* {
           padding: 0;
           margin: 0;        
       }        
       body {
           background:green;
           padding-top: constant(safe-area-inset-top); //88px            
           /*padding-left: constant(safe-area-inset-left);*/            
           /*padding-right: constant(safe-area-inset-right);*/            
           /*padding-bottom: constant(safe-area-inset-bottom);*/        
       }

看以后,新机器多了,屏幕适配也就显得更重要。希望我这点经验能给你们有点启示,让你们以后处理屏幕适配问题时更顺手些。

* {
           padding: 0;
           margin: 0;
       }
       body {
           background:-webkit-gradient(linear, 0 0, 0 bottom, from(#ffd54f), to(#ffaa22));
           padding-top: constant(safe-area-inset-top); //88px
           /*padding-left: constant(safe-area-inset-left);*/
           /*padding-right: constant(safe-area-inset-right);*/
           /*padding-bottom: constant(safe-area-inset-bottom);*/
       }

好!问你们个事儿:在你们做项目时,是怎么搞定iPhoneX这些新设备的屏幕适配咧?快来我们的评论区留言,别忘了点个赞和转发让其他人也看到~这样才能让更多人都明白屏幕适配有多重要!

H5 页面在 iPhoneX 显示适配的注意事项及实战案例

原文链接:https://www.icz.com/technicalinformation/web/vue2/2024/06/17692.html,转载请注明出处~~~
0

评论0

请先
注意:请收藏好网址www.icz.com,防止失联!站内免费资源持续上传中…!赞助我们
显示验证码
没有账号?注册  忘记密码?