Estou criando uma página da web móvel que é basicamente um formulário grande com várias entradas de texto.
No entanto (pelo menos no meu celular Android), toda vez que clico em alguma entrada, a página inteira é ampliada, obscurecendo o restante da página. Existe algum comando HTML ou CSS para desativar esse tipo de zoom nas páginas da web moble?
user-scalable=no
é ignorado. Veja issoRespostas:
Isso deve ser tudo o que você precisa
fonte
width=device-width
já está na primeira metatag?Para aqueles que estão atrasados para a festa, a resposta de kgutteridge não funciona para mim e a resposta de Benny Neugebauer inclui o densidade-alvodpi (um recurso que está sendo preterido ).
No entanto, isso funciona para mim:
fonte
Existem várias abordagens aqui - e embora a posição seja a de que normalmente os usuários não devem ser restringidos que diz respeito ao zoom para fins de acessibilidade, pode haver incidências onde é necessário:
Renderize a página na largura do dispositivo, não dimensione:
Impedir o dimensionamento - e impedir que o usuário possa ampliar:
Removendo todo o zoom, todos os dimensionamentos
fonte
Você pode usar:
Mas observe que no Android 4.4 a propriedade target-densitydpi não é mais suportada . Portanto, para o Android 4.4 e posterior, é sugerido o seguinte como prática recomendada:
fonte
Como ainda não há solução para o problema inicial, aqui estão os meus dois centavos de CSS puros.
Os navegadores móveis (a maioria deles) exigem que o tamanho da fonte nas entradas seja 16px. assim
resolve o problema. Portanto, você não precisa desativar o zoom e perder recursos de acessibilidade do seu site.
Se o tamanho da fonte base não for 16 px ou 16 px em celulares, você poderá usar consultas de mídia.
fonte
font-size: 1rem
a página inteira, para que a fonte seja dimensionada corretamente, evitando simultaneamente o problema de "foco no zoom".tente adicionar essa metatag e estilo
fonte
touch-action
ser definido paranone
- developer.mozilla.org/en-US/docs/Web/CSS/touch-action#Valuestouch-action: manipulation;
funcionou bem.touch-action: none;
não fiz nada #Parece que apenas adicionar metatags ao index.html não impede o zoom da página. Adicionar estilo abaixo fará a mágica.
EDIT: Demo: https://no-mobile-zoom.stackblitz.io
fonte
Solução possível para aplicativos da Web: Embora o zoom não possa mais ser desativado no iOS Safari, ele será desativado ao abrir o site a partir de um atalho na tela inicial.
Adicione essas metatags para declarar seu aplicativo como "compatível com aplicativos da Web":
No entanto única usar esse recurso se o seu aplicativo é auto-sustentável, como os botões de frente / trás e aswell barra de URL, como as opções de compartilhamento estão desativados. (No entanto, você ainda pode deslizar para a esquerda e para a direita). Essa abordagem, no entanto, permite aplicativos como o ux. O navegador de tela cheia só inicia quando o site é carregado na tela inicial.
Também o fiz funcionar depois de incluir um apple-touch-icon-180x180.png na minha pasta raiz.Como bônus, você provavelmente também deseja incluir uma variante disso:
fonte
Você pode realizar a tarefa simplesmente adicionando o seguinte elemento 'meta' em sua 'cabeça':
Adicionar todos os atributos como 'largura', 'escala inicial', 'largura máxima', 'escala máxima' pode não funcionar. Portanto, basta adicionar o elemento acima.
fonte
Por favor, adicione o script para desativar pitada, toque, foco Zoom
fonte