#html #css #ipad #mobile-safari
#HTML #css #iPad #mobile-safari
Вопрос:
Я создаю макет для iPad, и ширина макета составляет 950 пикселей, и когда я перехожу в альбомный режим, я не получаю никакой горизонтальной полосы прокрутки (которая на самом деле у меня должна быть, потому что ширина макета фиксирована в пикселях, что составляет 950 пикселей, а не 786px), все в порядке, но высота верхней строки заголовка уменьшается.
Что я делаю не так. Я хочу, чтобы мой макет не уменьшался в альбомном режиме. каждый элемент должен иметь ту же высоту, что и в портретном режиме.
Ответ №1:
Я подозреваю, что viewport
мета-кран изменяет размер вашего сайта. Попробуйте зафиксировать масштаб на 1 в начальных, максимальных в минимальных значениях.
<meta name="viewport" content="width=950, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
Комментарии:
1. нужно ли указывать ширину? потому что в портретном режиме ширина будет другой
2. Вы можете попробовать с
width=device-width
, но я не уверен в результате. Вы также можете обнаружить событие orientationchange.3. Имейте в виду, что отключение «масштабирования» создает проблему доступности, не позволяя пользователям контролировать и масштабировать дисплей, если они этого захотят.
Ответ №2:
Я не знаю, происходит ли это с вами, но в iOS есть ошибка, из-за которой масштаб меняется при переключении между портретным и альбомным режимами. Смотрите http://www.blog .highub.com/mobile-2/a-fix-for-iphone-viewport-scale-bug /
Вы можете исправить это следующим образом:
Добавьте этот мета-тег в заголовок HTML-документа:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
И добавьте этот JavaScript на страницу — см. https://gist.github.com/90129
(function(doc) {
var addEvent = 'addEventListener',
type = 'gesturestart',
qsa = 'querySelectorAll',
scales = [1, 1],
meta = qsa in doc ? doc[qsa]('meta[name=viewport]') : [];
function fix() {
meta.content = 'width=device-width,minimum-scale=' scales[0] ',maximum-scale=' scales[1];
doc.removeEventListener(type, fix, true);
}
if ((meta = meta[meta.length - 1]) amp;amp; addEvent in doc) {
fix();
scales = [.25, 1.6];
doc[addEvent](type, fix, true);
}
}(document));
Комментарии:
1. Привет, Джитендра. Это ответило на ваш вопрос?
Ответ №3:
На устройствах webkit (Android / iOS) вы можете использовать этот CSS для основного текста, чтобы предотвратить изменение размера текста после изменения ориентации (поворота). Мне потребовалось некоторое время, чтобы отследить это. Надеюсь, это поможет другим с этой странной функцией.
<style>
body {
-webkit-text-size-adjust: none;
}
</style>
Ответ №4:
<link rel="stylesheet" media="handheld" href="css/handheld.css?v=2">
Это также может быть полезно
Комментарии:
1. Что в «css / handheld.css?v = 2»?
2. Он имеет в виду стандартный handheld.css, который поставляется с шаблоном HTML5 , но, по-видимому, не подумал упомянуть эту часть.