Javascript 虚拟键盘缩放网页

Javascript 虚拟键盘缩放网页,javascript,android,html,css,Javascript,Android,Html,Css,这可能是一个愚蠢的问题,但我被卡住了:我正在构建一个包含大量输入字段的页面。这些输入字段应该占屏幕的一定百分比,因为分辨率在不同的设备上会有所不同。因此,我将有如下风格: input { height: 20%; } 我希望它能计算并保持高度,但事实并非如此 所以我猜,当虚拟键盘出现时,它会调整页面大小,输入字段的高度为新高度的20% 在经历了一些挫折之后,我创建了一个只有一个输入字段的页面,并检查了我是否能够阻止它以某种方式调整大小。以下是不起作用的地方: -以百分比为单位设置最小高度

这可能是一个愚蠢的问题,但我被卡住了:我正在构建一个包含大量输入字段的页面。这些输入字段应该占屏幕的一定百分比,因为分辨率在不同的设备上会有所不同。因此,我将有如下风格:

input { height: 20%; }
我希望它能计算并保持高度,但事实并非如此

所以我猜,当虚拟键盘出现时,它会调整页面大小,输入字段的高度为新高度的20%

在经历了一些挫折之后,我创建了一个只有一个输入字段的页面,并检查了我是否能够阻止它以某种方式调整大小。以下是不起作用的地方:

-以百分比为单位设置最小高度

-试图在js中保持页面高度

 var initialHeight = document.body.scrollHeight;
        window.onresize = function(event){
            document.body.scrollHeight = initialHeight;
        }
(这是否意味着百分比仅与可见尺寸相关?)

-将输入字段放入具有固定最小高度(以像素为单位)的div中

输入字段本身的最小高度(以像素为单位)似乎确实有效,但这不是我正在寻找的解决方案


如何创建在虚拟键盘出现时不会调整大小的输入字段?

将高度设置为固定值,而不是百分比。如果将其设置为20%,它将是其父级大小的20%,并与其父级(在本例中为整个页面)一起缩放

您可能希望使用视口元标记在不同的设备上进行更好的缩放。