html 软键盘 页面高度,深入理解高度,获取屏幕、webview、软键盘高度

本文详细探讨了HTML5中如何获取屏幕、顶部状态栏、软键盘及Webview的高度。通过Native.js和HTML5Plus API,可以获取到设备的物理分辨率和逻辑分辨率,并在Android和iOS上区分处理。在Android上,输入法高度可通过屏幕高度减去状态栏和Webview高度计算得出。同时,文章提到了HTML中的document.body.clientHeight和document.body.scrollHeight的区别,并介绍了如何监控软键盘的弹出与消失。
摘要由CSDN通过智能技术生成

如果没有手动调整过webview的高度的话,默认情况下,屏幕的高度=顶部状态栏的高度+webview的高度。

如果软键盘打开,则屏幕的高度=顶部状态栏的高度+webview的高度+软键盘的高度。

HTML5 规范目前没有提供状态栏高度和软键盘高度的直接的查询方法,不过有了Native.js,我们还是能查询到所有这些高度的数值。

背景知识介绍:

手机屏幕有真实的物理分辨率,比如小米note的高度是1920px。

但在网页里,一个10px的字体,并不会小的看不清,因为webview提供了逻辑分辨率的概念。

如果不在meta里设置,默认下小米note的放大系数scale是3,就是会放大3倍显示。

也就是对于HTML而言,小米note的高度是1920/3=640px。

如果网页是全屏的,没有顶部状态栏,那么一个640px高的div将撑满屏幕高度。

获取屏幕、顶部状态栏和软键盘的高度

1. 屏幕的高度

获取屏幕的高度很简单,HTML自带了screen.height,直接就可以得到屏幕的整体高度,单位是px,物理分辨率值(不是HTML的逻辑分辨率)。

HTML5Plus里提供了plus.screen.resolutionHeight方法,也是屏幕高度,但这个值是逻辑分辨率的高度。参考[http://html5plus.org/doc/zh_cn/device.html#plus.screen](http://html5plus.org/doc/zh_cn/device.html#plus.screen)

screen.height =

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值