2010-11-16 21 views
26

Ho riscontrato un problema per cui su alcuni telefoni del mio sito vengono visualizzati degli scroll orizzontali. Ho provato a mettere overflow-x: nascosto ma non funziona. La larghezza è automatica, in modo tale da ridimensionare automaticamente il web in base alle dimensioni dello schermo. Tutti gli altri telefoni vanno bene, tranne quando visualizzati in BlackBerry, Nokia E52 e Windows Mobile, apparirà lo scroll orizzontale.disabilita lo scorrimento orizzontale sul Web mobile

Qualche consiglio? Grazie!

+0

Sembra che l'immagine del banner faccia sì che tutto il sito abbia lo scroll orizzontale per determinati telefoni. Ad ogni modo per rendere l'immagine del banner ridimensionare automaticamente? – Sylph

risposta

5

Per me, il metatag viewport in realtà ha causato un problema di scorrimento orizzontale sul Blackberry.

Ho rimosso content="initial-scale=1.0; maximum-scale=1.0; dal tag viewport e ha risolto il problema. Qui di seguito è la mia tag finestra corrente:

<meta name="viewport" content="user-scalable=0;"/> 
49

Usa <meta name="viewport" content="width=device-width, initial-scale = 1.0, maximum-scale=1.0, user-scalable=no" /> al fine di impostare la larghezza di larghezza del dispositivo.

2

So che questa è una vecchia domanda, ma vale la pena notare che BlackBerry non supporta overflow-x o overflow-y.

Vedi il mio post here

10

ho trovato questa risposta over here on stackoverflow che funziona perfettamente per me:

uso questo in stile

body { 
    overflow-x: hidden; 
    width: 100%; 
} 

Usare questo nel tag head

<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0" /> 
<meta name="apple-mobile-web-app-capable" content="yes" /> 

Una mia piccola aggiunta nel caso in cui il tuo corpo abbia imbottitura (per evitare che il dispositivo di scala al contenuto-corpo scatolare, e quindi ancora aggiunta una barra di scorrimento orizzontale):

body { 
    overflow: hidden; 
    width: 100%; 
    -webkit-box-sizing: border-box; 
     -moz-box-sizing: border-box; 
      box-sizing: border-box; 
} 
+2

Se stai creando un'app e la visualizzi tramite una visualizzazione Web, è utile aggiungerla solo per interromperla scorrendo da sinistra a destra. overflow-x: hidden; – Mikeys4u

+1

Vorrei aggiungere per testare a fondo. In alcuni casi, usando 'overflow: hidden;' bloccherà la tua pagina in alto, senza possibilità di scorrere verso il basso. Come riferito da Mikeys4u, di solito è meglio usare 'overflow-x: hidden;'. – karolus

2

Uso questo per rendere l'utente ancora in grado di ingrandire e ridurre:

<meta name="viewport" content="width=device-width;" /> 
6
html, body { 
    overflow-x: hidden; 
} 
body { 
    position: relative 
} 

Basta aggiungere questo CSS

+1

Questo è l'unico che ha funzionato per me! Grazie! –

+1

Sì, la risposta migliore è inserire nella query multimediale per evitare l'overflow sui dispositivi mobili, oltre naturalmente al viewport multimediale. –

-2

ho avuto lo stesso problema. Aggiunta massima scala = 1 fissa esso:

OLD: <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">

NUOVO: <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

P.S. Inoltre ho usato virgole tra i valori. Ma sembra funzionare anche con il punto e virgola.

Problemi correlati