2013-04-15 2 views
9

Я действительно не знаю, что с этим делать, у меня есть таблетка Tab 2, 7 дюймов и использование хром в качестве браузера (v26.0.1410.58) в Android 4.1.1. Я загружаю веб-приложение в портретном режиме, и медиа-запрос подходит просто отлично, я переключу его в альбомный режим, и все работает хорошо, но когда я переключу его обратно в портретный режим, браузер просто не применит стиль, и отладка приложения с помощью USB-планшета, подключенного к ПК, я вижу, что хром больше не нашел соответствия с любым медиа-запросом.Потеря соответствия медиа-запросов после переключения портрет-пейзаж-портрет

Запрос медиа-я является применение:

(устройство-ширина: 600px) и (макс-устройства высота: 1024px) и (макс-ширина: 600px) и (мин -device высота: 976px) и (ориентация: портрет)

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

Некоторые данные, которые могут быть полезны:

screen.width: 600

screen.height: 976

$ (окно) .width(): 600

Это происходит только в этом устройстве, и мне нужно поддерживать приложение на этой вкладке.

+0

Вы решили проблему? – Rob

+2

У меня была на 100% та же проблема, что и у вас, и с использованием max-width вместо max-device-width решена – artdias90

+0

artdias90, спасибо за ваш совет! Удаление «устройства» из запроса работало для меня. –

ответ

1

У меня нет устройства для тестирования, но я обычно придерживаюсь более простых медиа-запросов.

Возможно, попробуйте только max-width вместо ширины устройства. Я считаю, что выполнение этого в сочетании с макетами, основанными на процентах, означает, что я не привязан к устройствам с моими макетами.

@media (макс-ширина: 600px) {...}

+0

Проблема в том, что мне нужен очень специфический медиа-запрос, потому что приложение должно будет поддерживать множество устройств. Кроме того, использование max-width вместо ширины устройства заставит медиа-запросы перекрывать друг друга в некоторых случаях. – unjuken

+0

Мое предложение состояло в том, чтобы поместить жидкость, чтобы разместить больше устройств. Используйте максимальную ширину для всех ваших медиа-запросов, выберите несколько контрольных точек, а затем используйте проценты для ширины ваших элементов. Таким образом, вы можете обслуживать контент практически на любом устройстве. Я знаю, что это расплывчато, но, надеюсь, это в какой-то мере поможет. Я разрабатываю много мобильного контента, и у меня не было проблем такого типа. Мои проекты масштабируются взад и вперед (от портрета к пейзажу) без проблем на устройствах, с которыми я тестировал. – Patrick

1

Ориентация медиа-запросы реальная боль, чтобы поддержать ... Я бы посоветовал держаться подальше от них. У меня есть действительно хороший набор медиа-запросов, которые я использую. Я просто отменил запрошенные медиа-запросы Zurb's Foundation. Смотрите ниже ...

// Small screens 
@media only screen { } 
/* Define mobile styles */ 

@media only screen and (max-width: 40em) { } 
/* max-width 640px, mobile-only styles, use when QAing mobile issues */ 

// Medium screens 
@media only screen and (min-width: 40.063em) { } 
/* min-width 641px, medium screens */ 

@media only screen and (min-width: 40.063em) and (max-width: 64em) { } 
/* min-width 641px and max-width 1024px, use when QAing tablet-only issues */ 

// Large screens 
@media only screen and (min-width: 64.063em) { } 
/* min-width 1025px, large screens */ 

@media only screen and (min-width: 64.063em) and (max-width: 90em) { } 
/* min-width 1025px and max-width 1440px, use when QAing large screen-only issues */ 

// XLarge screens 
@media only screen and (min-width: 90.063em) { } 
/* min-width 1441px, xlarge screens */ 

@media only screen and (min-width: 90.063em) and (max-width: 120em) { } 
/* min-width 1441px and max-width 1920px, use when QAing xlarge screen-only issues */ 

// XXLarge screens 
@media only screen and (min-width: 120.063em) { } 
/* min-width 1921px, xxlarge screens */ 
0

Вы должны попробовать

@media only screen and (max-device-width: 600px) { /* STYLES GO HERE */} 
/* styles apply only in portrait mode */ 

@media only screen and (min-device-width: 601px) { /* STYLES GO HERE */} 
/* styles apply only in landscape mode */ 

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

@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape) { /* STYLES GO HERE */} 

Оставьте другие значения, которые вы указали, это создает конфликт из-за высоты.