avviene quanto segue sulla mobile Safari iOS 6.1.2ingresso IOS concentrata all'interno genitore fisso arresta aggiornamento posizione degli elementi fissi
Procedura per riprodurre
Creare un elemento position: fixed
con un elemento interno <input type="text">
.
risultato effettivo
ingresso - non focalizzata
La posizione degli elementi fissi è corretta quando l'ingresso non è a fuoco.
ingresso - focalizzata
Quando l'ingresso è a fuoco, il browser entra in una modalità speciale in cui non aggiorna la posizione degli elementi fissi più (qualsiasi elemento posizionato fisso , non solo il genitore dell'input) e sposta l'intera finestra verso il basso in modo da posizionare l'elemento genitore dell'input al centro dello schermo.
Vedi demo live: http://jsbin.com/oqamad/1/
Risultato atteso
La posizione degli elementi fissi è sempre rispettato.
Correzione o soluzione alternativa?
Qualsiasi suggerimento su come forzare Safari a visualizzare correttamente gli elementi fissi sarebbe utile.
Preferirei una soluzione alternativa che non implichi l'utilizzo di position: absolute
e l'impostazione di un gestore di eventi onscroll
.
Remy Sharp ha fatto un video live del bug in azione nel maggio 2012 su iOS 5: http://www.youtube.com/watch?v=lrnvZDwgJRc –
Si tratta di un bug irreparabili, al momento. Il posizionamento fisso sta appena iniziando a ottenere un supporto maggiore tra i dispositivi mobili. –
È possibile utilizzare js per allineare il div alla parte inferiore della pagina. Questo è quello che ho fatto per il mio footer. Impostare una funzione di timeout o chiamare la funzione di riposizionamento sull'evento di scorrimento. – Shouvik