HTML / CSS - мобильный масштабируется при запуске - PullRequest
6 голосов
/ 19 декабря 2011

Возникла проблема, при которой все мобильные устройства увеличивались на 50% при запуске.Это каждое устройство, кроме iPad.Пытался выполнить проверку PHP, чтобы уменьшить масштаб на 50%, если все, кроме iPad, но когда вы переместились из альбомной ориентации -> портрет -> ландшафт, он затем снова уменьшил бы 50%.

Вот мои текущие метатеги:

<meta name="HandheldFriendly" content="true" />
<meta name="viewport" content="width=640, height=700, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />

Мой HTML не использует ширину 100% только в пикселях.В целом содержание не распространяется на ширину 640 и высоту 700.

Кто-нибудь знает, как можно избежать этой проблемы?

Редактировать

Пришел к выводу, что @hakre был прав насчет масштаба пикселей.Я решил исправить каждую ширину в%, а не в пикселях.Таким образом, это размер авто, несмотря ни на что.Стоит отметить, что я убрал весы.Причина в том, что кажется, что это портит компоновку на некоторых устройствах.Еще раз спасибо @ hakre

Ответы [ 2 ]

4 голосов
/ 06 января 2012

Я проверял это только в браузере Android по умолчанию и в Opera Mobile, но, похоже, он работает хорошо.К сожалению, пока нет способа отключить масштабирование в браузере Android ...

<meta name="viewport" content="width=device-width, initial-scale=1.0"/> 
<meta name="viewport" content="target-densitydpi=device-dpi" /> 
<meta name="HandheldFriendly" content="true"/>
2 голосов
/ 19 декабря 2011

В CSS px - это абсолютная длина единица .Они в основном полезны, когда известна среда вывода.

Для устройства CSS эти размеры либо привязываются (i), связывая физические единицы [дюймы, см, мм, pt,pc] к их физическим измерениям, или (ii), связав единицу пикселя [px] с опорным пикселем .[дополнения и выделение мной]

Если опорный пиксель составляет половину физического пикселя дисплея устройства, значение CSS в 700px будет переводиться на дисплей в 350px- или эти 50% в вашем вопросе.

Итак, то, что вы видите здесь, совершенно правильно, CSS верен в том смысле, что вы выбираете px единицы, вы просто упустили, что px в CSS этоне такой, как пиксель на дисплее.Поскольку это не так, но вы хотите, чтобы это было, похоже, что вы выбрали не ту единицу.

Опять же: абсолютная длина единицы в основном полезны, когда известна среда вывода.

Может быть, вы найдете способ указать браузеру изменить опорный пиксель ?Это решит вашу проблему.Или теперь, когда вы знаете, что происходит, определите устройство и измените длины соответствующим образом.

В качестве альтернативы вы можете заменить свои абсолютные длины относительными (например, например).Поскольку они являются относительными, вам нужно только изменить длину элемента, к которому они относятся, чтобы изменить всю страницу.

Обычно это делается с использованием абсолютной длины в <html> и / или <body> элемент и относительная длина для всего остального.

Этот подход также может помочь вам решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...