Ho sviluppato un sito e ho sfruttato il buon plug-in jQuery Sticky Kit. Funziona passando dalla proprietà position
a fixed
e viceversa. Funziona molto agevolmente sul desktop e in modo accettabile così nei dispositivi mobili.iOS 9 Safari: la modifica di un elemento in posizione fissa durante lo scorrimento non dipinge fino all'interruzione dello scorrimento
O almeno era solito. iOS 9 ha un nuovo comportamento: se lo position
di un elemento cambia da static
/relative
/absolute
a fixed
mentre l'animazione di scorrimento è in corso, l'elemento diventa invisibile fino a quando lo scorrimento non si ferma. Stranamente, la modifica opposta (da fixed
a qualsiasi altra cosa) viene eseguita senza problemi.
Un esempio di lavoro può essere trovato su the plugin's homepage. La barra di navigazione nera ("Esempi di riferimento") dovrebbe essere appiccicosa. Originariamente è static
posizionato a metà pagina. Mentre scorri verso il basso diventa fixed
e (in iOS 9) scompare fino a quando lo scorrimento si interrompe. Il comportamento nei browser desktop e iOS 8 è corretto.
Avevo un po 'di speranza per i tipici workaround CSS: forzare una trasformazione 3D, disabilitare la visibilità del backface e simili, proprietà proprietarie oscure, ... Ma niente sembra funzionare.
Stiamo già dimenticando gli elementi "attaccabili" ora che funzionava?
Se stai sviluppando per iOS dovresti usare la soluzione migliore, 'position: sticky' in CSS, anche se dietro un prefisso. Puoi mantenere il tuo plugin jQuery per tutto il resto e utilizzare la soluzione CSS nativa per iOS dove lo supporta (7+, se ricordo correttamente). – TylerH
Bene, sto sviluppando per tutto, ma questo consente un approccio misto. Grazie! – randombumper
Dopo alcune ore di tentativi ed errori, posso concludere che il supporto per le intestazioni appiccicose in iOS è piuttosto buono, ma quando si arriva a colonne appiccicose, tutto va in tilt. Un po 'troppo verde ancora. – randombumper