Ein bug bei iOS5 (Safari), ein "position:fixed" div, und von den hohen Formen

Alle,

Ich arbeite an einer web-Anwendung, die beinhaltet eine sehr "hohe" form. (Durch groß, es bedeutet, dass es mehrere hundert Prozent höher als ein typischer Bildschirm).

Design fordert eine "Fußzeile" verankert, um den unteren Rand des Bildschirms IMMER sichtbar, unabhängig von der position des Nutzers in der form.

In anderen Worten, sollte die Fußzeile sichtbar sein, unabhängig davon, ob der Benutzer in der Nähe des oberen, mittleren oder unteren Rand der form, und die form sollte scrollen "unter" ihm.

Umzusetzen, habe ich den footer wie ein div mit position:fixed, und bottom:0.

Diese funktioniert perfekt auf allen Browsern die ich getestet habe, einschließlich Safari auf iOS5.

Außer es gibt EINE bug...

Wenn der Benutzer in der Nähe des oberen Rand des Formulars und setzt den Fokus auf eines der Textfelder - wie erwartet, iOS zeigt die Tastatur.

Jedes mal, wenn der Benutzer die Klicks Nächsten - Taste, iOS - "tabs") Sie zum nächsten Feld.

Als Sie schreitet nach unten die form durch wiederholtes klicken Nächsten, iOS automatisch "blättert" die form, so dass Ihre position auf dem Formular bleibt im Blick.

Jedoch iOS nicht aktualisieren, scheint die position des position:fixed footer-div - falsch blättert zusammen mit dem rest der form.

Wenn schließt der Benutzer die Tastatur, die div wird restauriert, um es den "richtigen" Platz, so dass dies nicht zu einem nicht behebbaren Fehler. Aber die Tatsache, dass der footer verschoben ist überhaupt ein krasses problem.

Ist das ein Fehler oder Manko bei iOS ist die Implementierung der position:fixed? Oder ist es etwas, was ich falsch mache?

Vielen Dank im Voraus!

[UPDATE]

Remy Sharp (treffend benannte) gerade geschrieben hat eine sehr gute und ausführliche Nachricht über eine Vielzahl von bugs und Probleme mit position:fixed auf iOS/Safari: http://remysharp.com/2012/05/24/issues-with-position-fixed-scrolling-on-ios/. Es ist ein must-read, wenn Sie denken über die Verwendung von position:fixed auf einer Website soll für iOS-Nutzer...

InformationsquelleAutor mattstuehler | 2012-05-23
Schreibe einen Kommentar