css media запросы: конфликт между настольными и новейшими разрешениями смартфонов
Поскольку новые телефоны имеют действительно большое разрешение экрана (например, 1280), мне интересно, каков самый умный способ сделать медиа-запрос CSS, предназначенный ТОЛЬКО для телефонов с 1280. Проблема у меня заключается в том, что если я сделаю это:
@media only screen and (min-width:1136px) and (max-width:1280px)
Я включу некоторые размеры разрешений для рабочего стола и хочу, чтобы между рабочим столом и мобильным отображался другой интерфейс.
Есть ли где-нибудь хорошая практика / решение для этого?
Большое спасибо!
3 ответа
Отличным способом нацеливания на такие устройства, как смартфоны, было бы использование min-device-width
а также max-device-width
например,
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
/* Smartphone queries here */
}
@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
/* iPad queries here */
}
Кроме того, вы можете использовать функцию "Обнаружение мобильных браузеров" для обнаружения мобильных устройств / планшетов.
Для мобильных устройств просто попробуйте проверить min-device-width
и / или max-device-width
,
Другая возможность - проверить соотношение пикселей на устройстве, на которое вы ориентируетесь.
Пользовательский агент нюхает.
Это не очень хорошая практика, но если вы отыскиваете пользовательские агенты на стороне сервера и обслуживаете другой контент (html/css/js) для клиента (телефон, рабочий стол), это работает.
Лучше спросите себя, для каких функций предназначен ваш пользовательский интерфейс, например, сенсорный экран, размер экрана и т. Д. Чтобы определить это, вы можете использовать медиазапросы CSS и http://modernizr.com/