Ich habe ein Spielzeug-Beispiel für eine HTML-Anwendung in Cordova (Code unten), die mit allem im Verhältnis zur Größe des Darstellungsbereichs (entweder Position: absolute und Prozent oder Vh-Einheiten für Schriftarten) ausgelegt ist.Wie wird das Layout beim Anzeigen der Tastatur beibehalten?
Wenn eine Tastatur angezeigt wird, schrumpft unerwartet das Ansichtsfenster vertikal, was zu dem Layout führt, das im zweiten Screenshot gezeigt wird.
Ich möchte, dass das ursprüngliche Layout genau so ausgeführt wird, wie es hier ist, relativ zur vollen Breite/Höhe des Ansichtsfensters, aber damit es die Größe nicht ändert, wenn die Tastatur angezeigt wird; Vielmehr sollte es so groß bleiben, wie es vor dem Auftauchen der Tastatur war.
Wie mache ich das?
HTML/CSS-Code:
<!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>
P. S. Es wäre schön, wenn die Ansicht automatisch gescrollt, so dass das ausgewählte Eingabefeld sichtbar ist, aber das ist eine separate Frage :)
Umgebung: Cordova 5.1.1, Android SDK 23, Android-Emulator läuft auf Ubuntu 14.04.
Das funktioniert super! Es sollte die kanonische Antwort auf diese Frage für Cordova sein. Ich hoffe, es wird Tonnen von Upvotes :) –