Respostas:
É específico do Safari, pelo menos no momento da escrita, sendo introduzido no Safari 9.0. Na seção "O que há de novo no Safari?" documentação para o Safari 9.0 :
Alterações na janela de visualização
As metatags da viewport usando
"width=device-width"
fazem com que a página seja reduzida para caber no conteúdo que ultrapassa os limites da viewport. Você pode substituir esse comportamento adicionando"shrink-to-fit=no"
à sua metatag como mostrado abaixo. O valor agregado impedirá que a página seja dimensionada para se ajustar à viewport.
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
Em resumo, adicionar isso à meta tag da viewport restaura o comportamento anterior ao Safari 9.0.
Aqui está um exemplo visual trabalhado que mostra a diferença ao carregar a página nas duas configurações.
A seção vermelha é a largura da viewport e a seção azul é posicionada fora da viewport inicial (por exemplo left: 100vw
). Observe como no primeiro exemplo a página é ampliada para caber quando shrink-to-fit=no
é omitida (mostrando o conteúdo fora da janela de exibição) e o conteúdo azul permanece fora da tela no último exemplo.
O código para este exemplo pode ser encontrado em https://codepen.io/davidjb/pen/ENGqpv .
shrink-to-fit=no
evita esse comportamento, deixando o nível de zoom sozinho e deixando o conteúdo excedente fora da tela. Experimente o exemplo do Codepen no seu iDevice (ou iOS Simulator) e tente alterar a configuração. Talvez ver a mudança interativamente ajude.
shrink-to-fit
comportamento. Com shrink-to-fit=no
, a página permanece no tamanho esperado, deixando o conteúdo exceder a janela de visualização. Um usuário pode (normalmente) ainda rolar ou reduzir o zoom para ver o conteúdo excedente, mas a janela de exibição inicial corresponde ao tamanho do dispositivo.
Como estatísticas sobre o uso do iOS, indicando que o uso do iOS 9.0-9.2.x está atualmente em 0,17%. Se esses números são realmente indicativos do uso global dessas versões, é mais provável que seja seguro remover o termo-ajuste da metatag da viewport.
Após 9.2.x. O IOS remove essa verificação de tag em seu navegador.
Você pode verificar esta página https://www.scottohara.me/blog/2018/12/11/shrink-to-fit.html