Estoy creando una página web móvil que es básicamente una gran forma con varias entradas de texto.
Sin embargo (al menos en mi teléfono celular Android), cada vez que hago clic en alguna entrada, toda la página se amplía, oscureciendo el resto de la página. ¿Hay algún comando HTML o CSS para deshabilitar este tipo de zoom en las páginas web de moble?
user-scalable=no
se ignora. Vea estoRespuestas:
Esto debería ser todo lo que necesitas
fuente
width=device-width
ya en la primera metaetiqueta?Para aquellos de ustedes que llegan tarde a la fiesta, la respuesta de kgutteridge no funciona para mí y la respuesta de Benny Neugebauer incluye objetivo-densidaddpi (una característica que se está desaprobando ).
Sin embargo, esto funciona para mí:
fuente
Hay una serie de enfoques aquí, y aunque la posición es que, por lo general, los usuarios no deberían estar restringidos cuando se trata de hacer zoom para fines de accesibilidad, puede haber incidentes donde se requiere:
Renderice la página al ancho del dispositivo, no escale:
Evite el escalado y evite que el usuario pueda hacer zoom:
Eliminar todo el zoom, toda la escala
fuente
Puedes usar:
Pero tenga en cuenta que con Android 4.4 la propiedad target-densidaddpi ya no es compatible . Entonces, para Android 4.4 y versiones posteriores, se sugiere lo siguiente como mejor práctica:
fuente
Como todavía no hay una solución para el problema inicial, aquí está mi CSS puro de dos centavos.
Los navegadores móviles (la mayoría de ellos) requieren que el tamaño de fuente en las entradas sea de 16px. Entonces
resuelve el problema Por lo tanto, no necesita deshabilitar el zoom ni perder las funciones de accesibilidad de su sitio.
Si el tamaño de fuente base no es 16px o no es 16px en móviles, puede usar consultas de medios.
fuente
font-size: 1rem
para toda la página, de modo que la fuente se escale bien, evitando simultáneamente el problema de "enfocar al hacer zoom".intenta agregar esta metaetiqueta y estilo
fuente
touch-action
debe establecerse ennone
: developer.mozilla.org/en-US/docs/Web/CSS/touch-action#Valuestouch-action: manipulation;
funcionó bien.touch-action: none;
no hizo nadaParece que solo agregar metaetiquetas a index.html no evita que la página haga zoom. Agregar el estilo a continuación hará la magia.
EDITAR: Demo: https://no-mobile-zoom.stackblitz.io
fuente
Posible solución para aplicaciones web: si bien el zoom ya no se puede deshabilitar en iOS Safari, se deshabilitará al abrir el sitio desde un acceso directo de la pantalla de inicio.
Agregue estas metaetiquetas para declarar su aplicación como "compatible con aplicaciones web":
Sin embargo, solo use esta función si su aplicación es autosuficiente, ya que los botones de avance / retroceso y la barra de URL, así como las opciones para compartir, están deshabilitadas. (Sin embargo, todavía puede deslizar hacia la izquierda y hacia la derecha) Sin embargo, este enfoque permite que la aplicación sea bastante parecida a ux. El navegador de pantalla completa solo se inicia cuando el sitio se carga desde la pantalla de inicio.
También lo puse a trabajar después de incluir un apple-touch-icon-180x180.png en mi carpeta raíz.Como beneficio adicional, probablemente también desee incluir una variante de esto:
fuente
Puede realizar la tarea simplemente agregando el siguiente elemento 'meta' en su 'cabeza':
Agregar todos los atributos como 'ancho', 'escala inicial', 'ancho máximo', 'escala máxima' podría no funcionar. Por lo tanto, solo agregue el elemento anterior.
fuente
Agregue la secuencia de comandos para deshabilitar pellizcar, toque, enfoque Zoom
fuente