formular - html tags



Wie kann ich ein HTML-INPUT-Tag formatieren, so dass CSS beibehalten wird, wenn es auf Android 2.2+ ausgerichtet ist? (2)

Sie können es möglicherweise mithilfe eines Fehlers in Android beheben : http://code.google.com/p/android/issues/detail?id=14295 .

Das bedeutet, dass das Eingabefeld nicht sofort angezeigt wird. Zeigen Sie stattdessen ein Overlay-div an, das auf Klick hört und sich versteckt und die verborgene Eingabe anzeigt und den Eingabefokus angibt. Dies verhindert irgendwie, dass Android die seltsame Eingabe verwendet, die über allem platziert wird, und verwendet stattdessen das Eingabefeld für den Browser, das Sie beliebig gestalten können.

Wie Sie im Fehlerbericht feststellen werden, funktioniert dies nicht mit Eingabe [type = "number"] ...

Ich habe mit Freude festgestellt, dass Android 2.2 den position: fixed CSS selector unterstützt. Ich habe hier ein einfaches Proof-of-Concept erstellt:

http://kentbrewster.com/android-scroller/scroller.html

... das wirkt wie ein Zauber. Wenn ich jedoch versuche, ein INPUT-Tag zu meinem Header hinzuzufügen, habe ich Probleme bekommen. Im Fokus klont jedes Gerät, das ich bisher ausprobiert habe, das INPUT-Tag, gibt ihm einen unendlichen Z-Index und überstreicht es über dem alten Tag. Der Klon befindet sich ungefähr in der richtigen Position, aber die meisten CSS-Elemente seiner Eltern (einschließlich natürlich: position: fixed) werden ignoriert. Das geklonte INPUT-Tag hat die falsche Größe und Form, und wenn ich den Textkörper der Seite scrolle, scrollt er nach oben und vom Bildschirm weg.

Sobald es aus dem Bildschirm ist, ergibt sich Heiterkeit. Manchmal zwingt das Gerät den scrollenden Teil des Körpers nach unten, so dass der geklonte Rohling wieder sichtbar ist. manchmal verschwindet die Tastatur, obwohl die sichtbare Box im Fokus zu bleiben scheint; manchmal kann die Tastatur nicht verworfen werden, obwohl das INPUT-Feld deutlich unscharf ist. Hier ist ein Beispiel, das Sie auf Ihrem Android 2.2-Gerät ausführen können, um zu sehen, was passiert:

http://kentbrewster.com/android-input-style-bug/

Styling-Eingabe: Fokus hat noch nicht den Trick für mich gemacht, noch haben viele verschiedene Brute-Force-Versuche mit JavaScript auf focus () und blur () zu hören und mit Fokus und Tastatur das Richtige zu tun.

Vielen Dank für Ihre Hilfe,

--Kent


Answer #1

Dies wird wahrscheinlich erst gelöst, wenn Android für die WebView-Funktion Chrome verwendet. Der aktuelle Android-Browser erstellt ein Android TextView am oberen Rand der Seite, wenn ein HTML-Eingabefeld fokussiert ist. Anscheinend stylen oder positionieren sie es nicht richtig. Auf Seiten, die contentEditable verwenden, kann es falsch angezeigt werden.

Das aktuelle Chrome-für-Android implementiert die WebKit-IME-Schnittstelle, so dass Eingabefelder von WebKit gezeichnet werden (und einige der Feinheiten des Android TextView auf ICS verlieren) und sollte solche Probleme nicht haben.





css-position