Сохранить размер шрифта HTML при изменении ориентации iPhone с книжной на альбомную
спросил
Изменено 1 год, 11 месяцев назад
Просмотрено 104 тыс. раз
У меня есть мобильное веб-приложение с неупорядоченным списком, содержащим несколько элементов с гиперссылкой внутри каждого li
:
Мой вопрос: как мне отформатировать гиперссылки, чтобы они НЕ меняли размер при просмотре на iPhone, а акселерометр переключался с книжной на альбомную?
В портретном режиме у меня установлен размер шрифта гиперссылки 14px
, но когда я переключаю устройство в альбомный режим, он увеличивается до 20px
.
Я хочу, чтобы размер шрифта оставался прежним.
Вот пример кода:
ul li a { размер шрифта: 14px; текстовое оформление: нет; цвет: #cc9999; }
<ул>
- iphone
- html
- css
Это поведение можно отключить с помощью свойства CSS -webkit-text-size-adjust
:
html { -webkit-text-size-adjust: 100%; /* Предотвращение масштабирования шрифта в альбомной ориентации при разрешении пользовательского масштабирования */ }
Использование этого свойства описано далее в Руководстве по веб-содержимому Safari.
13
Примечание: если вы используете
html { -webkit-text-size-adjust: нет; }
, то это отключит масштабирование в браузерах по умолчанию. Лучшее решение:
html { -webkit-text-size-adjust: 100%; }
Исправление поведения iPhone/iPad без изменения поведения рабочего стола.
0
Использование -webkit-text-size-adjust: нет; непосредственно в html нарушает возможность масштабирования текста во всех браузерах webkit. Вы должны комбинировать это с некоторыми медиа-запросами, специфичными для iOS. Например:
@media только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 1024 пикселей) { HTML { -webkit-text-size-adjust: нет; } }
1
Как упоминалось ранее, правило CSS
-webkit-text-size-adjust: none
больше не работает на современных устройствах.
К счастью, появилось новое решение для iOS5 и iOS6 (что делать: как насчет iOS7?) :
Вы также можете добавить , user-scalable=0
, чтобы отключить масштабирование щипком, чтобы ваш веб-сайт вел себя как родное приложение. Если ваш дизайн тормозит при масштабировании пользователем, используйте вместо него этот метатег:
0, max-scale=1.0, user-scalable=0" >
3
Вы также можете использовать сброс CSS, например, normalize.css, который включает то же правило, которое рекомендует CrazyGringo:
/** * 2. Предотвратить настройку размера текста iOS после изменения ориентации без отключения * Пользовательский зум. */ HTML { -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
Как вы видите, оно также включает в себя правило поставщика для IE Phone.
Актуальную информацию о реализации в различных браузерах см. на справочной странице MDN.
Вы можете добавить метаданные в заголовок HTML:
0
По состоянию на март 2019 года text-size-adjust имеет разумную поддержку среди мобильных браузеров.
корпус { регулировка размера текста: нет; }
Использование метатега viewport
не влияет на регулировку и настройку размера текста масштабируется пользователем: нет
не работает даже в IOS Safari.
Приведенный ниже код работает для меня.
html{-webkit-text-size-adjust: 100%;}
Попробуйте очистить кеш браузера, если это не работает.
В моем случае эта проблема возникла из-за того, что я использовал атрибут CSS width: 100%
для тега HTML input type="text"
.
Я изменил значение width
на 60% и добавил padding-right:38%
.
ввод { заполнение справа: 38%; ширина: 60%; }
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Требуется, но не отображается
медиа-запросов для стандартных устройств | CSS-Tricks
Если ты думаешь, что адаптивность — это просто, мне тебя жаль, сынок. У нас 99 видовых экранов, а у iPhone только один.
— Джош Брюэр, 10 марта 2010 г.
Важным компонентом адаптивного дизайна является создание правильного интерфейса для правильного устройства. С огромным количеством различных устройств на рынке это может быть сложной задачей. Мы собрали медиа-запросы, которые можно использовать для таргетинга дизайна для многих стандартных и популярных устройств, которые, безусловно, стоит прочитать.
Если вам нужен полный список медиа-запросов, этот репозиторий — хороший ресурс.
Если ваша реакция на это: , вы никогда не должны устанавливать точки останова на устройствах!! Вы правы. У Джастина Эйвери есть хороший пост о возможных подводных камнях использования точек останова для конкретных устройств. Выбор точек останова на основе вашего дизайна, а не конкретных устройств — разумный способ. Но иногда вам просто нужна небольшая помощь, чтобы взять под контроль одну конкретную ситуацию.
Телефоны и портативные устройства
iPhone/* ----------- iPhone 4 и 4S ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 480 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 5, 5S, 5C и 5SE ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 320 пикселей) и (максимальная ширина устройства: 568 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 6, 6S, 7 и 8 ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 667 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- iPhone 6+, 7+ и 8+ ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 414px) и (максимальная ширина устройства: 736 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- iPhone X ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 375 пикселей) и (максимальная ширина устройства: 812 пикселей) и (-webkit-min-device-pixel-ratio: 3) и (ориентация: пейзаж) { }
/* ----------- Galaxy S3 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) { } /* Портрет */ @медиаэкран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- Galaxy S4, S5 и Note 3 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 320 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Galaxy S6 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }
/* ----------- HTC One ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { }Google Pixel
/* ----------- Google Pixel ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Google Pixel XL ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 640 пикселей) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }Телефоны Nexus
/* ----------- Nexus 4 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) { } /* Портрет */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 384px) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 2) и (ориентация: пейзаж) { } /* ----------- Нексус 5 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 3) и (ориентация: пейзаж) { } /* ----------- Nexus 6 и 6P ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) { } /* Портрет */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 360 пикселей) и (высота устройства: 592px) и (-webkit-device-pixel-ratio: 4) и (ориентация: пейзаж) { }Windows Phone
/* ----------- Windows Phone ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) { } /* Портрет */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 480 пикселей) и (высота устройства: 800 пикселей) и (ориентация: пейзаж) { }
Ноутбуки
Медиа-запросы для ноутбуков — это что-то вроде безжалостной силы. Вместо таргетинга на конкретные устройства попробуйте указать общий диапазон размеров экрана, а затем различать экраны с сетчаткой и без нее.
/* ----------- Экраны без Retina ----------- */ @медиаэкран и (минимальная ширина устройства: 1200 пикселей) и (максимальная ширина устройства: 1600 пикселей) и (-webkit-min-device-pixel-ratio: 1) { } /* ----------- Экраны Retina ----------- */ @медиаэкран и (минимальная ширина устройства: 1200 пикселей) и (максимальная ширина устройства: 1600 пикселей) и (-webkit-min-device-pixel-ratio: 2) и (минимальное разрешение: 192dpi) { }
Таблетки
iPad/* ----------- iPad 1, 2, Mini и Air ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (-webkit-min-device-pixel-ratio: 1) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 1) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 1) { } /* ----------- iPad 3, 4 и Pro 9. 7" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 768px) и (максимальная ширина устройства: 1024px) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { } /* ----------- iPad Pro 10,5" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 834px) и (максимальная ширина устройства: 1112 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium.com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 834px) и (максимальная ширина устройства: 834px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium. com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1112 пикселей) и (максимальная ширина устройства: 1112 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { } /* ----------- iPad Pro 12.9" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 1024px) и (максимальная ширина устройства: 1366 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium.com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1024px) и (максимальная ширина устройства: 1024px) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ /* Объявите одинаковое значение для минимальной и максимальной ширины, чтобы избежать конфликтов с рабочими столами */ /* Источник: https://medium. com/connect-the-dots/css-media-queries-for-ipad-pro-8cad10e17106*/ @медиа только экран и (минимальная ширина устройства: 1366 пикселей) и (максимальная ширина устройства: 1366 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { }Планшеты Galaxy
/* ----------- Galaxy Tab 2 ----------- */ /* Портрет и пейзаж */ @СМИ (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) { } /* Портрет */ @СМИ (максимальная ширина устройства: 800 пикселей) и (ориентация: портрет) { } /* Пейзаж */ @СМИ (максимальная ширина устройства: 1280 пикселей) и (ориентация: пейзаж) { } /* ----------- Galaxy Tab S ----------- */ /* Портрет и пейзаж */ @СМИ (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 2) { } /* Портрет */ @СМИ (максимальная ширина устройства: 800 пикселей) и (ориентация: портрет) и (-webkit-min-device-pixel-ratio: 2) { } /* Пейзаж */ @СМИ (максимальная ширина устройства: 1280 пикселей) и (ориентация: пейзаж) и (-webkit-min-device-pixel-ratio: 2) { }Планшеты Nexus
/* ----------- Nexus 7 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) { } /* Портрет */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 601px) и (высота устройства: 906px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: пейзаж) { } /* ----------- Nexus 9 ----------- */ /* Портрет и пейзаж */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) { } /* Портрет */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: портрет) { } /* Пейзаж */ @медиаэкран и (ширина устройства: 1536px) и (высота устройства: 2048px) и (-webkit-min-device-pixel-ratio: 1,331) и (-webkit-max-device-pixel-ratio: 1,332) и (ориентация: пейзаж) { }Kindle Fire
/* ----------- Kindle Fire HD 7" ----------- */ /* Портрет и пейзаж */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) { } /* Портрет */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) и (ориентация: портрет) { } /* Пейзаж */ @медиа только экран и (минимальная ширина устройства: 800 пикселей) и (максимальная ширина устройства: 1280 пикселей) и (-webkit-min-device-pixel-ratio: 1,5) и (ориентация: пейзаж) { } /* ----------- Kindle Fire HD 8.