Ключевой вопрос здесь, насколько я понимаю, заключается в том, когда это правило применяется само по себе - потому что , когда значение равно «none» , оно применимо к любому браузеру WebKit, будь то рабочий стол, телефон размер или планшет. Насколько я могу судить, браузеры настольных веб-наборов не применяют никаких других значений (-webkit-font-size-Adjust: 150%; ничего не делает).
Когда к Mobile Safari на iOS или на любом мобильном браузере Webkit (Android и т. Д.) Применяется «none», вы получаете эффект «правильный»: браузер не пытается настроить размер шрифта некоторые из ваших элементов, и вы (дизайнер) сохраняете контроль над их размерами относительно друг друга. Вы по-прежнему можете увеличивать / уменьшать масштаб и дважды увеличивать изображение, чтобы увеличивать / уменьшать область просмотра. Мобильные браузеры выполняют масштабирование области просмотра, а не масштабирование текста.
Однако, когда это правило применяется к настольному веб-набору (Safari, Chrome), оно кажется неправильным, потому что настольный веб-набор выполняет масштабирование текста, и это правило предотвращает это.
Итак, решение состоит в том, чтобы настроить таргетинг только на мобильный веб-набор для этого правила. Медиа-запросы CSS являются логичным ответом на это, но управлять целевыми устройствами iOS все немного неуклюже и неточно:
@media screen and (max-device-width: 480px),
screen and (-webkit-min-device-pixel-ratio: 2),
screen and (device-width: 768px) {
body {
-webkit-text-size-adjust:none;
}
}
Это должно дать вам все iPhone до 3GS (первое правило), iPhone 4 (второе правило) и iPad (третье правило). Третье правило должно теоретически соответствовать настольному Safari, когда область просмотра имеет ширину ровно 768 пикселей, но на практике это не так.
Если честно, я не уверен, что было бы лучше использовать javascript для обнаружения мобильного Safari и добавить класс в тело документа для применения правила. Таким образом, вам не нужно будет заново устанавливать новые правила, когда появятся устройства с новыми дисплеями.