【发布时间】:2016-09-15 05:56:47
【问题描述】:
我有一个在 Cordova 中运行的 html 应用程序的玩具示例(代码如下),它的布局与视口大小相关的所有内容(位置:绝对和百分比,或字体的 vh 单位)。
出乎意料的是,当显示键盘时,视口会垂直收缩,从而导致第二个屏幕截图中显示的布局。
我希望初始布局与此处完全一样,相对于视口的全宽/高度,但在显示键盘时它不会改变大小;相反,它应该保持与键盘出现之前一样高。
我该怎么做?
HTML/CSS 代码:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<style type="text/css">
.main {
font-size: 4vh;
color: #000000;
position:absolute;
top:12%;
left:5%;
width:90%;"
}
.button {
background: #006000;
font-size: 4vh;
color: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
position:absolute;
top:85%;
left:0%;
width:100%;
height:15%
}
html,body {
height: 100%;
width:100%;
background-color:#FFFFFF;
overflow: hidden;
}
</style>
</head>
<body>
<div class="screen">
<div class="main">
Type in something:<br/><br/>
<input type="text">
</div>
<div class="button">
Next
</div>
</div>
</body>
</html>
附:如果视图自动滚动以使所选输入字段可见,那就太好了,但这是一个单独的问题:)
环境:Cordova 5.1.1,Android SDK 23,在 Ubuntu 14.04 上运行的 Android 模拟器。
【问题讨论】: