html - 移动键盘更改 html 视口(viewport)大小

标签 html css mobile keyboard

一个已知问题,如果您为 <body> 使用百分比(或视口(viewport)单位)宽度和高度是当移动键盘因输入而调用时,任何百分比/视口(viewport)元素的大小都会发生变化。

我已经对这个问题进行了很多搜索,但没有任何帮助。

我发现答案之一是根据新视口(viewport)调整布局: mobile viewport resize due to keyboard

但这并不实用。

有人知道如何在网络上操作移动键盘吗?

经过一些测试,我发现了一个 hack,我会把它放在答案中,如果有更好的方法,请告诉 :)

最佳答案

使用JavaScript/jQuery 设置<body> 的高度和宽度以像素为单位。

使用这段代码:

$(function() {
    var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
    var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
    $("html, body").css({"width":w,"height":h});
});

在这种情况下 <body>将根据视口(viewport)大小以像素为单位进行设置,并且随着视口(viewport)的任何更改而保持不变。

如果键盘覆盖了输入,您可以轻松地将输入的位置更改为 fixedtop到 0。

关于html - 移动键盘更改 html 视口(viewport)大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39585950/

相关文章:

javascript - 移动视口(viewport)问题间歇性

html - 当 href 处于事件状态时更改图像

css - 如何更改 Select2 框中文本的填充

javascript - JS,使用 HTML 而不是变量

javascript - chrome mobile,jquery .ready() 未按预期触发

android - 如果设备上缺少 HMS,防止@hmscore 显示初始弹出窗口

javascript - 如何使文本在屏幕上来回移动?

css - 为什么这个已访问的 <a> anchor 总是紫色的?

javascript - iOS 网络应用程序 : Rotate the body with the orientation change

html - 固定标题,页面滚动到标题并隐藏