Я делаю мобильное приложение используя Cordova, и с медиа запросами CSS возникло недопонимание.
Пытаясь заставить выглядеть приложение одинаково на большинстве устройств, я в какой-то момент поняла, что пишу
media query отдельно для каждого тестового устройства (сейчас у меня под рукой XIAOMI Redmi Note 3, XIAOMI Redmi 3S, Huawei ATH-UL01, Huawei KII-L21, HTC One).
Первое, что непонятно, это то, что
@media screen and (device-width: 360px) and (min-device-height: 540px) and (-webkit-device-pixel-ratio: 3) {
}
подходит для XIAOMI Redmi Note 3, но не подходит для Huawei ATH-UL01, хотя их характеристики (device-width и pixel-ratio) одинаковы! Возможно, в медиа запросе нужно учесть еще что-то, кроме ширины и dpr?
Больше всего на разных экранах скачут `font-size` и `line-height`. Как этого избежать? Может, стоит использовать em? Сейчас я использую пиксели, которые переопределяю в медиа запросах.
Во-вторых, мне кажется, что это нездоровый путь писать медиа запросы под каждое устройство, которое было од рукой. Какие есть good practice, как делаете вы? Как более-менее обобщить всё разнообразие экранов?