h5底部输入框被键盘遮挡_微信 H5 页面兼容性解决方案

最近给公司微信公众号,写了微信h5业务页面,总结分享一下前端开发过程中的几个兼容性坑,项目直接拿的公司页面,所以下文涉及图片都模糊处理了。

1、ios端兼容input光标高度

问题详情描述:input输入框光标,在安卓手机上显示没有问题,但是在苹果手机上

当点击输入的时候,光标的高度和父盒子的高度一样。例如下图,左图是正常所期待的输入框光标,右边是ios的input光标。

h5底部输入框被键盘遮挡_微信 H5 页面兼容性解决方案_第1张图片

出现原因分析:通常我们习惯用height属性设置行间的高度和line-height属性设置行间的距离(行高),当点击输入的时候,光标的高度就自动和父盒子的高度一样了。(谷歌浏览器的设计原则,还有一种可能就是当没有内容的时候光标的高度等于input的line-height的值,当有内容时,光标从input的顶端到文字的底部

解决办法:高度height和行高line-height内容用padding撑开

例如:

.content{
      float: left;  box-sizing: border-box;  height: 88px;  width: calc(100% - 240px);                .content-input{
         display: block;     box-sizing: border-box;     width: 100%;     color: #333333;     font-size: 28px;     //line-height: 88px;     padding-top: 20px;     padding-bottom: 20px;  }}

2、ios端微信h5页面上下滑动时卡顿、页面缺失

问题详情描述:在ios端,上下滑动页面时,如果页面高度超出了一屏,就会出现明显的卡顿,页面有部分内容显示不全的情况,例如下图,右图是正常页面,边是ios上下滑动后,卡顿导致如左图下面部分丢失。

h5底部输入框被键盘遮挡_微信 H5 页面兼容性解决方案_第2张图片

出现原因分析:

笼统说微信浏览器的内核,Android上面是使用自带的WebKit内核,iOS里面由于苹果的原因,使用了自带的Safari内核,Safari对于<

你可能感兴趣的:(h5底部输入框被键盘遮挡)