Разрешение браузеров смартфонов

Мне просто любопытно, как телефоны Android специально рассчитывают разрешение адаптивных веб-страниц. Например, я знаю, что хотя родное разрешение iPhone 5s составляет 640x1136, разрешение, которое он использует для веб-страниц, составляет 320x568. (Поэтому я могу соответствующим образом измерять элементы своего дизайна, когда это необходимо — обычно я использую проценты, но иногда мне нужно измерять элементы в пикселях)

Итак, когда телефон Android посещает веб-сайт с адаптивным дизайном и имеет исходное разрешение 1920x1080, какие элементы на веб-странице отображаются с точки зрения размера? Тоже 1/2? Или это отличается между устройствами?

Тесты, которые я провел, не дают мне ясного представления о том, что происходит.

Спасибо!


person alanvitek    schedule 20.06.2014    source источник
comment
Если вы используете Chrome, вы можете использовать эмулятор устройства инструментов разработчика, чтобы получить разрешение и соотношение пикселей для разных устройств. Вы также можете ссылаться на этот список дисплеев по плотности пикселей: en.wikipedia.org/wiki/List_of_displays_by_pixel_density (смотрите в столбце соотношения пикселей CSS)   -  person Sean Henderson    schedule 20.06.2014
comment
@SeanHenderson - это замечательный ресурс, о существовании которого я не знал! Это действительно прояснило для меня тайну того, как CSS интерпретирует эти размеры. Спасибо   -  person alanvitek    schedule 24.06.2014


Ответы (1)


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

Ширина устройства — это истинная мера пикселей на смартфоне или планшете, цифры разрешения обычно удваиваются для устройств с сетчаткой.

Правильное структурирование означает:

(1) Включите в заголовок документа свой метатег

<meta name="viewport" content="width=device-width, initial-scale=1.0">

при желании вы можете предотвратить масштабирование с помощью

<meta name="viewport" content="width=device-width, user-scalable=no" />

(2) В CSS используйте медиа-запросы, например

@media (max-width: 480px) {
  ...
}

@media (max-width: 767px) {
  ....
}

@media (min-width: 768px) and (max-width: 979px) {
  ...
}

@media (min-width: 1200px) {
  ...
}  

Точки останова, которые вы выбираете, не так важны, а скорее принцип, согласно которому вы манипулируете отображением на экране на основе ширины пикселя и не усложняете себе жизнь соотношением пикселей, разрешением, ориентацией и другими связанными деталями.

Наверняка вы столкнетесь с исключениями, но если вы начнете с простого и получите желаемые результаты, то вы избежите скользкой дорожки, пытаясь ориентироваться на устройства, и это поможет защитить ваш дизайн в будущем.

Удачи!

person David Taiaroa    schedule 20.06.2014
comment
Я думаю, вы действительно попали в точку, когда упомянули, что речь должна идти не об устройствах, а о контексте дизайна в заданных пикселях. Действительно, точки останова не имеют значения в отношении устройств и их разрешения. Спасибо! - person alanvitek; 24.06.2014
comment
Спасибо @alanvitek, я рад, что это помогло вам прояснить ситуацию. - person David Taiaroa; 25.06.2014