2011-04-04 10 views
23

Estoy intentando configurar una ventana gráfica para Safari móvil. Con la metaetiqueta de la ventana gráfica, intento asegurarme de que no haya zoom y que no pueda desplazar la vista horizontalmente. Esta es la etiqueta meta que estoy usando:Mobile Safari Viewport - ¿Cómo evitar el desplazamiento horizontal?

<meta id="viewport" name="viewport" content ="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 

en mi iPhone cuando la carga de la página, parece que mirar bien:

screenshot

Pero puede desplazarse horizontalmente, de modo que se parece a esto (esto es lo más a la derecha que puedo ir:

screenshot

Cuando el swing en la vista horizontal, la página se representa como esperado, bloqueando la posición de desplazamiento horizontal.

Estoy tratando de averiguar cómo hacer que esta página no se desplace horizontalmente en absoluto. ¿Es posible que tenga algún elemento de página que saque el contenido? Ni siquiera esperaba que eso fuera posible con un conjunto de ventanas correcto, pero estoy agarrando pajas aquí.

Respuesta

19

¿Es posible que tenga algún elemento de página que saque el contenido?

Sí, ese es realmente el caso. La configuración de la ventana gráfica solo define el área de la ventana gráfica visible, pero no trata de desactivar la panorámica lateral.

Para evitar que esto ocurra, configure un desbordamiento: oculto en el elemento que contiene su contenido, o bien, evite que los elementos se desborden.

NB: otros navegadores móviles también son compatibles con la metaetiqueta de viewport desde hace un tiempo, por lo que también querrás probarlos.

+0

Figura s sería algo tan simple. Todavía no estoy seguro de qué fue lo que lo impulsó, pero el uso de la propiedad de desbordamiento en el elemento de visualización principal solucionó el problema. ¡Gracias! –

+0

Gracias por esta respuesta. FWIW, para mí, era un '' ______ 'codificado duro para los comentarios que causaban que fuera demasiado ancho. – Danger14

+0

qué significa NB para –

13

body { overflow-x: hidden; } también funciona.

+0

Esto no parece funcionar en dispositivos Android. Tengo una página con 'overflow-x' establecido como oculto y aún puedo desplazarme con el mouse. –

+6

La pregunta era para Mobile Safari :) Para los navegadores de Android, he tenido éxito con [esta respuesta] (http://stackoverflow.com/a/10739042/326073). – HaL

+0

esto también rompe el desplazamiento vertical, haciendo que el desplazamiento sea realmente lento – Acosta

6

cuerpo div {overflow: hidden;} @ medios consulta

. Esto evitará que cualquier elemento empuje el contenido.

+0

Utilicé 'body> div {overflow: hidden; } 'para evitar recortes no deseados – Leftium

11

Llegué tarde a la fiesta aquí, pero tenía un problema similar en el que tenía un desplazamiento horizontal a través de un iPhone 5, el sitio mostraba efectivamente el doble del ancho, con la mitad derecha completamente vacía.

De hecho, sólo tenía que cambiar la etiqueta meta de visualización de:

<meta name='viewport' content='width=device-width, maximum-scale=1.0, minimum-scale=1.0' /> 

a:

<meta name='viewport' content='width=device-width, maximum-scale=1.0, minimum-scale=1.0, initial-scale=1.0' /> 

Adición de la 'inicial escala' bloqueado hacia abajo de manera que sólo se desplaza verticalmente como se esperaba.

+1

La suya es una mejor solución. –

4

no saben si este soy yo o si una parte del código publicado ha sido escrito incorrectamente, pero:

Si esto

<meta name='viewport' content='content="width=device-width, maximum-scale=1.0, minimum-scale=1.0, initial-scale=1.0' /> 

no leer como esto

<meta name='viewport' content='width=device-width, maximum-scale=1.0, minimum-scale=1.0, initial-scale=1.0' /> 

entonces el contenido solo se muestra una vez sin "como no tiene cierre" al final del código .....

+0

Absolutamente, parece que fue un error tipográfico –

Cuestiones relacionadas