问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

做移动端Web页面时,处理IOS的安全区域

发布网友 发布时间:2024-09-28 07:35

我来回答

1个回答

热心网友 时间:2024-10-07 17:54

开头

从苹果手机iphoneX发布之后,前端人员在开发移动端Web页面时,得多注意一个对IOS所谓安全区域范围的适配。这其实说白了就是iphoneX之后的苹果手机,在页面上,你需要对顶部和底部多预留一点空间。

造成这个问题的主要原因就是苹果手机在屏幕上出现了所谓的刘海屏,而且更是在屏幕下方加了一条小黑条。

如图:

我们上下预留的占位空间就是为了防止我们页面的内容被这些元素遮挡,但是如果你做的页面只是放在一些浏览器(微信内置浏览器)内传播,一般我们也不需要处理顶部刘海问题,顶部一般就是原生的标题栏了,不用我们管。但如果你的页面会被内嵌在APP展示且APP是全屏展示的,那么这个问题还是得处理一下。

下面我们分别介绍一下通过CSS和JS怎么去处理,根据场景你可以自行选择。

CSS

在iOS11新增特性中,Webkit包含了两个新的函数env()和constant(),以及四个预定义的常量:

safe-area-inset-top:安全区域距离顶部边界距离,状态栏+导航栏大约为88px。

safe-area-inset-left:安全区域距离左边边界距离,竖屏时为0。

safe-area-inset-right:安全区域距离右边边界距离,竖屏时为0。

safe-area-inset-bottom:安全区域距离底部边界距离,大约高度为34px。

我们可以这样子使用它们:

body{/*兼容iOS<11.2*/padding-top:constant(safe-area-inset-top);padding-left:constant(safe-area-inset-left);padding-right:constant(safe-area-inset-right);padding-bottom:constant(safe-area-inset-bottom);/*兼容iOS>=11.2*/padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);}

当然,你也可以在某个固定(fixed)在底部的元素上单独使用:

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

当然,有时候单纯的CSS方式并不能满足实际的需求场景,那么我们就需要判断出那些IOS的手机屏幕是需要特殊处理的。

而iphoneX之后的苹果手机Series参数如下:

机型倍率分辨率ptiPhoneX32436×1125812×375iPhoneXS32436×1125812×375iPhoneXSMax32688×1242896×414iPhoneXR21792×828896×414

根据这些参数我们把苹果手机的长屏,也就是拿屏幕的高度用来当成判断条件:

/***判断IOS异形屏*@returns*/exportfunctionisIphoneX(){if(typeofwindow!=='undefined'&&window){varfaultTolerantVal=10;//容错值return/iphone/gi.test(window.navigator.userAgent)&&(window.screen.height+faultTolerantVal)>=812;}returnfalse;};

至此,本篇文章就写完啦,撒花撒花。

希望本文对你有所帮助,如有任何疑问,期待你的留言哦。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...地形、气候、河流、物产、经济发展状况、文物古迹、旅游资源等方面... 二本博士生好找工作吗(二表b是什么意思) 二表b大学是什么意思? 上海女明星有哪些 上海住了哪些明星 求那种感情强烈的小说,类似于 缺氧――和康巴男人的一夫多妻实验 那个... 像和市长千金爱上我相似的小说 【200分】寻找好看小说,都市类,像《和空姐同居的日子》差不多的小说... 推荐几部好看点的都市言情小说, 比如:《和空姐同居的日子》_百度... 求一个lp仿传奇单机版v3.05版的修改器下载地址! 退休的干部可以去演电影吗 坚果Pro2售价多少? 一个人可以开几个微信群呢 生手如何上手? 射手座和巨蟹座配吗 巨蟹座和射手座天生一对吗相配吗 dnf大转移黑暗武士平民走什么流好,现在用的轻钝太烂了,求大神推荐一款... 智能马桶起来后不冲水 智能马桶水箱不进水问题要如何检修 昨晚梦到的事,第二天真的发生了奇怪吗 文言文精卫填海与刑天舞于戚这两则故事说明人们怎样的愿望和精神_百度... 属猴男跟属虎女可以结婚吗 和谁结婚最好 电脑不识别u盘怎么办 ?3个实用小技巧,让你轻松搞定USB识别难题 点痣纹眉后除了红霉素药膏,还能用什么药膏? 点痣和纹眉的修复液一样吗 买的小米移动电源2,10000mah的,可能是进水导致故障,不能充电和... 早上把移动电源掉水里了,不知道要怎么办? 梦幻西游为什么BB抓鬼每次经验不同,第一个最多,最后最少 bios无法启动 电脑故障维修:如何处理主板常见故障? 电脑开机无法直接进入系统,要求按F1进去后,看到好像电压有问题?_百度... 别拿自己不当干部是廉洁电影吗??? 别拿自己不当干部精彩花絮 高校英语四六级考试时间 高校英语四六级考试是什么时间 喜马拉雅听书 下载的小说可以直接存在外置sd卡里吗?三星note3n9006 电影小时代4的结局是什么? 三星note3n9006用起来流畅吗,看小说眼睛舒服吗,玩游戏卡吗 ...的男主角叫戚少商,另外还有四大名捕,电视的名字是什么? 沙发脚踏是什么意思? 什么是沙发脚踏?沙发脚踏的作用是什么? 什么是沙发脚踏? 沙发脚踏是什么东西 电影大决战拍摄时间 大决战系列电影怎么时长少了 内存频率是怎么算出来的?2133MHz这么奇怪的数字是怎么来的?_百度知 ... bios里怎么看内存频率 抚顺有给男生照艺术照的没 本人想拍艺术照,但是我不明白艺术照和写真有什么区别, 有个德国僵尸电影是2个丧尸追一个在树上的女人 类似于生化危机的电影题材的影片介绍下 谁看过一部这样的电影(丧尸片)“只记得那个女的开辆红色法拉利过一片树...