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

怎么用h5解决iPhoneX上input聚焦页面整体上移,键盘消失页面没有落下来...

发布网友 发布时间:2022-04-25 08:19

我来回答

4个回答

懂视网 时间:2022-05-12 05:04

这篇文章主要给大家介绍了关于iphoneX 适配客户端H5页面的相关资料,文中介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面一起学习学习吧。

前言

目前,很多APP设计师小伙伴已经开始转向H5前端开发啦,但是解决所有iPhone和安卓机型的适配问题是我们的重中之重。无论是设计APP还是写前端H5.都是要考虑移动端的兼容性。

由于iphoneX做了全面屏并且还保留一块小刘海,因此很多以前的移动端H5页面需要结合App客户端做出相应的适配,具体如下:

1、顶部通栏

之前的客户端一直采用状态栏20pt+导航栏44pt的做法。由于iphoneX多了一块小刘海,因此iphoneX单独采用状态栏44pt+导航栏44pt,意味着内嵌的H5页面整体下移24pt。

2、底部操作栏

由于iphoneX是全面屏,页面最底部会被弯曲的拐角截掉一部分,特别是有底部固定悬浮的tab条会严重受到影响。这时候需要底部留出一块空白安全区域,页面内容最终的底线应在手机拐角处。该安全区域的高度为34pt。

3、适配方法

终上所述,结合iphoneX目前特有的手机参数我们可以采用的适配方法为:

(1)meta标签

ios11为了适配iphoneX对现有的viewport meta标签新增一个特性:viewport-fit,如果客户端没有做全屏适配,那么页面想要全屏覆盖,则可使用该特性:

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

(2)媒体查询

1、利用constant函数

只有设置了viewport-fit=cover才能使用constant函数

@supports(bottom:constant(safe-area-inset-bottom)) {
 selector{
 padding-bottom:constant(safe-area-inset-bottom); 
 padding-bottom:calc(30px(假设值) + constant(safe-area-inset-bottom)); //根据实际情况选择适配方法
 }
}

2、利用iphoneX独特的型号参数

@media only screen and (device-width: 375px) and (device-height:812px) and (-webkit-device-pixel-ratio:3) {
 #buy {
 padding-bottom:34px; 
 }
}

(3)js判断(以下采用Jquery)

if($(window).width() === 375 && $(window).height() === 724 && window.devicePixelRatio === 3){
 #buy {
 padding-bottom:34px; 
 }
}

(4)客户端协议

也可以根据客户端协议请求客户端查询是否是iphoneX,以此来保持和客户端一致。

4、参数解释

以上代码中的参数解释如下:

  • safe-area-inset-bottom — ios11新增特性,用于设定安全区域与边界的距离

  • 375 — iphoneX设备的宽度

  • 812 — iphoneX设备的高度

  • 3 — iphoneX设备的分辨率

  • 724 — iphoneX设备的高度(812) - 顶部通栏高度(88)

  • 34 — 底部安全区域高度

  • 以上参数均以标准的1pt=1px进行计算,如果H5页面采用缩放的rem方式,那么1pt = 1px * 3(iphoneX分辨率)

    热心网友 时间:2022-05-12 02:12

    var htmlScrollHeight = $(document).scrollTop();//记录页面初始滚动条到顶部的高度

    $('input').blur(function(){
    //输入框失去焦点时,使页面滚动条到顶部的高度恢复到初始值,页面就会滑动下来
    $('html,body').animate({scrollTop:htmlScrollHeight}, 1000);

    });

    热心网友 时间:2022-05-12 03:30

    网页链接    

    iphoneX输入框失去焦点页面并没有随着键盘滑动下来

    <input  @blur="blurFinish"/>

    blurFinish () {

    window.scrollTo(0, 0)

    }

    热心网友 时间:2022-05-12 05:05

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 如何设置底部控件view随着软键盘的弹出而上移 iOS 点击文本框会自动往上移动是什么鬼 ios 怎么禁用键盘弹出视图上弹 ios怎么在弹出键盘的时候控件都往上移 do does的注意事项 比如像does前加后还原等。。。并列几个句子 动词前面加do表示强调嘛? do用在not前面的时候是表达什么意思呢? do后面加什么? 什么时候在do前面加don&#39;t 为什么英语中有的肯定句中动词前面还要加个do?能否带例子给详细解答下 动词前面加do表示强调嘛? 那是不是所有动词前面都可以加do表示强调? 英语句式中动词前加do是什么意思?还可以这么表达的吗?如 we do have one room free for those days . 英语中怎么使用do? 什么词前面要加DO,或者说do 后面要加什么? 英语里表示强调有时在动词前加do例如I do have a friend.但是过去式应该怎么说? 为什么do前面要加to? 有时,为表示强调,在动词前面加一个do? 英语里面,加入前面有个动词do,后面又有个动词,那么后面的动词用不用不定式 动词前为什么可以加do do前面加the需要重读嘛 什么情况下do 前要加to?? IOS开发时,弹出键盘挡住输入框问题 ios键盘弹出的位置是固定的吗 微信网页,弹出软键盘,ios的整体布局会往上移,但是安卓的不会,怎样实现安卓的也整体布局上移呢? ios 怎样获取在tableview上的键盘高度 输入内容弹出键盘时,页面会往上提,怎么解决 ios input 调键盘输入的时候把整个页面顶上去了怎么解决 ios 键盘弹起下落通知写在什么地方 ios 怎么让tableview 跟着键盘上移 ios怎么在键盘弹出前得到键盘高度 IPAD手写怎么回车 笔记本电脑触摸板左右键有什么作用的 国家战略有哪些 什么是国家战略? 国家战略有哪些内容? 国家战略的作用是什么? 中国国家战略是什么? 国家战略什么意思? 我国四大发展战略是什么? 何为“国家战略” “国家战略能力”指?