2012-01-18 3 views
12

Abbiamo lo scrolling verticale che funziona bene con il seguente css per il webkit di iOS 5 che scorre 'touch', ma siamo ancora in grado di trascinare la pagina a sinistra ea destra. Come possiamo disabilitare il trascinamento sinistro e destro?Come disabilitare il trascinamento orizzontale? (scorrimento overflow del webkit: touch;)

Ecco il CSS:

#page_content{ 

-webkit-overflow-scrolling: touch; 
overflow-x:hidden; 
overflow-y: scroll; 
position:absolute; 
height: 460px; 
width: 320px; 

} 

Ecco il video:
http://dl.dropbox.com/u/1737103/scrolling.mov

Grazie in anticipo!

+0

Ho lo stesso problema e sì, rimane in modalità orizzontale. –

+0

Ho anche questo problema. Ho provato a metterlo in un div con overflow: nascosto e una miriade di altre soluzioni, nessuna delle quali ha funzionato. –

risposta

6

Ho scoperto che potevo sistemarlo trovando/correggendo/rimuovendo elementi che erano più larghi della larghezza. Ad esempio, se hai una larghezza del 100% sul tuo contenitore e quindi un elemento all'interno ha larghezza 100% con margine o riempimento, anche se l'overflow è nascosto nel contenitore, la pagina trascinerà da un lato all'altro.

Se è possibile assicurarsi che i propri elementi all'interno non si riversino orizzontalmente all'esterno del contenitore, la pagina non verrà trascinata. Se hai bisogno di un riempimento su una larghezza percentuale all'interno del contenitore (come un elemento con larghezza del 100%, o due con il 50% o qualsiasi cosa), 'dimensionamento della scatola: border-box;' è la strada da seguire.