问题描述

在移动端h5页面,当页面中包含input、textarea输入框的时候,或者有调起软键盘的操作时,安卓浏览器下,可视窗口的高度改变,导致页面上的vh重新计算,页面被压扁。ios下的浏览器(safari)没有这个问题。

原因

在ios下,软键盘是叠在可视窗口上面的,也就是不影响可视窗口的大小。但是在安卓,软键盘是在窗口中,即占用窗口的面积。

解决方案

给viewport设置height值,可用window.innerHeight赋值。

 <meta name="viewport" id="viewportMeta">
var initViewport = function(height){var metaEl = document.querySelector("#viewportMeta");var content = "height=" + height + ",width=device-width,initial-scale=1.0,user-scalable=no";metaEl.setAttribute('name', 'viewport');metaEl.setAttribute('content', content);
}
var realHeight = window.innerWidth > window.innerHeight ? window.innerWidth : window.innerHeight
initViewport(realHeight);

亲测在键盘谈起、屏幕旋转的情况下,可使页面正常显示

h5端移动端软键盘弹起改变高度问题相关推荐

  1. vh布局移动端软键盘弹起改变高度问题

    问题描述 在移动端使用vh布局.当页面中包含input.textarea输入框的时候,或者有调起软键盘的操作时,安卓浏览器下,可视窗口的高度改变,导致页面上的vh重新计算,页面被压扁.ios下的浏览器 ...

  2. H5 (React) 移动端监听软键盘弹起、收起

    前言:H5 有时底部按钮是固定定位,当页面上面需要用到输入内容时,会弹起软键盘,然后把底部固定的按钮也弹起来了,我们希望弹起软键盘时,底部的固定定位按钮隐藏,这里就需要对移动端软键盘弹起收起进行监听. ...

  3. h5 移动端 监听软键盘弹起、收起

    前面一篇博客 h5 安卓 键盘弹起界面适配 修改webview高度提到了在adnroid中如何监听软键盘的弹起与收起,是利用的窗口的高度发生变化 window.onresize事件来做突破点的,但是i ...

  4. h5 移动端 监听软键盘弹起、收起

    前面一篇博客 h5 安卓 键盘弹起界面适配 修改webview高度提到了在adnroid中如何监听软键盘的弹起与收起,是利用的窗口的高度发生变化 window.onresize事件来做突破点的,但是i ...

  5. h5(移动端) 监听软键盘弹起、收起

    https://blog.csdn.net/qq_38296051/article/details/109290225 https://blog.csdn.net/qq_42231156/articl ...

  6. 解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端)

    解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端) 参考文章: (1)解决微信H5页面软键盘弹起后页面下方留白的问题(iOS端) (2)https://www.cnblogs.com/zouw ...

  7. 移动端软键盘弹起遮挡输入框问题的解决方案

    移动端软键盘弹起遮挡输入框问题的解决方案 1.背景 原生app与H5页面混合开发时,input输入框唤起软键盘时,输入框被遮挡,分为两种情况: 客户端设置了windowSoftInputMode =& ...

  8. 安卓输入法弹出后css横屏,mui开发安卓端,输入法软键盘导致css横屏样式判断触发...

    mui开发安卓端,输入法软键盘导致css横屏样式判断触发 mui开发安卓端,输入法软键盘导致css横屏样式判断触发 css 横屏媒体查询 @media screen and (orientation: ...

  9. 移动端背景图软键盘的兼容

    本文主要介绍移动端背景图软键盘的界面兼容行问题解决. 1.问题描述,当前端小工程师写背景图的情况下,经常会遇到在谷歌浏览器的调试模式下一切都很ok,结果在真机测试却样式堪忧.比如,背景图被软键盘撑开, ...

最新文章

  1. 面试有没有看过spring源码_如何看Spring源码、Java每日六道面试分享,打卡第二天...
  2. 下单问题分析及解决方式
  3. 201421123042 《Java程序设计》第8周学习总结
  4. tensorboard使用_colab打不开tensorboard的解决办法
  5. C++学习——默认构造函数
  6. 信号回勾产生的原因_燃气减压阀振动的原因及处理方案
  7. OpenJudge NOI 1.5 37:雇佣兵
  8. java8.5下载_MyEclipse 8.5 download 官方下载地址
  9. 打开UG10 C语言错误,修复UG软件在win10中出现运行乱码的错误方法
  10. 如何查询OS、CPU、内存、硬盘信息
  11. 面试官问你“有什么问题问我吗?”,你该如何回答? 1
  12. 微信任意用户密码修改漏洞分析
  13. 全球定位实景导航 iOS实用应用周排行
  14. 网站建设流程-面向公司
  15. Python画五角星(turtle初识)
  16. 解决数据库高并发的常见方案
  17. vue 服务器代码更新 浏览器页面不更新
  18. 惊!一文看懂Java NIO读写文件
  19. 数据库大作业 openGauss程序设计
  20. 安装 tez-0.10.1

热门文章

  1. 编译指令 #pragma optimize
  2. 波音是在自掘死路吗?
  3. 位,字节和字区别(bit,byte,word)
  4. 【12月17日更新决赛预测】用二元泊松模型预测2022年世界杯淘汰赛结果
  5. 如何更精准地设置 C# / .NET Core 项目的输出路径?(包括添加和删除各种前后缀)
  6. 新研究:低量辐射能改善人体健康
  7. 细聊网络层协议之ARP、RARP协议
  8. 中国大学的集体堕落---麒麟vs汉芯
  9. 720全景——畅享全景视界
  10. win8 ie浏览器打不开