it-swarm.com.ru

Как настроить Galaxy Nexus и Nexus 7 с помощью медиа-запросов?

У меня есть два устройства, с которыми я тестирую дизайн сайта. Samsung Galaxy Nexus и планшет Asus Nexus 7. Мне очень трудно понять, как нацелить эти отдельные устройства с помощью медиа-запросов. Я не уверен, какие значения использовать для max-width или max-device-width. Также я не могу понять, в каком порядке размещать медиазапросы ...

Согласно: http://responsejs.com/labs/dimensions/

  • Портрет Галактики Нексус: document.documentElement.clientWidth = 360
  • Пейзаж Галактики Нексус: document.documentElement.clientWidth = 598
  • Nexus 7 Portrait: document.documentElement.clientWidth = 603
  • Nexus 7 Пейзаж: document.documentElement.clientWidth = 966

Мне нужно нацелиться на следующее:

  • Galaxy Nexus Портрет и планшет
  • Галактика Нексус Портрет
  • Galaxy Nexus Tablet
  • Nexus 7 Портрет и планшет
  • Nexus 7 Portrait
  • Планшет Nexus 7

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

/* Galaxy Nexus (portrait and landscape) ----------- */
@media only screen and (min-device-width : 360px) and (max-device-width : 598px) {
    ul.top-menu { background: red; }
}

/* Galaxy Nexus (landscape) ----------- */
@media only screen and (min-width : 361px) and (orientation: landscape){
    ul.top-menu { background: blue; }
}

/* Galaxy Nexus (portrait) ----------- */
@media only screen and (max-width : 360px) and (orientation: portrait) {
    ul.top-menu { background: purple; }
}

/* Nexus 7 (portrait and landscape) ----------- */
@media only screen and (min-device-width : 603px) and (max-device-width : 966px) {
    ul.top-menu { background: yellow; }
}

/* Nexus 7 (landscape) ----------- */
@media only screen and (min-width : 604px) and (orientation: landscape) {
    ul.top-menu { background: green; }
}

/* Nexus 7 (portrait) ----------- */
@media only screen and (max-width : 603px) and (orientation: portrait) {
    ul.top-menu { background: orange; }
}

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

14
Jake Wilson

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

@media only screen and (device-width : 800px) and (orientation: portrait) {
    #device:after {
        content: "Nexus 7 - portrait - firefox";
    }
}
@media only screen and (width : 603px) and (orientation: portrait) {
    #device:after {
        content: "Nexus 7 - portrait - chrome";
    }
}
@media only screen and (device-width : 1280px) and (orientation: landscape) {
    #device:after {
        content: "Nexus 7 - landscape - firefox";
    }
}
@media only screen and (width : 966px) and (orientation: landscape) {
    #device:after {
        content: "Nexus 7 - landscape - chrome";
    }
}

У меня нет времени, чтобы сделать оперу.

Вы можете просмотреть результат здесь с вашим Nexus 7

7
Yoann

Для конкретной цели вы можете использовать: 

@media only screen and (min-width : 600px) and (max-width : 603px) and (orientation: portrait) {
//Your CSS Here
}

Это получит Nexus 7, и если у вас iPhone, предназначенный для медиа-запросов, они останутся в такте.

2
André Figueira

Nexus 7 (v1) 2012

Mozilla/5.0 (Linux; Android 4.4.3; Nexus 7 Build/KTU84L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Safari/537.36

@media screen
resolution: 192dpi/2dppx
color: 8
-webkit-device-pixel-ratio: 2

orientation: portrait
  width: 600px/37.5em/158mm
  height: 791px/49.4375em/209mm
  device-width: 600px/37.5em/158mm
  device-height: 960px/60em/254mm
  aspect-ratio: 600/791
  device-aspect-ratio: 5/8 or 758/1000
orientation:landscape
  width: 960px/60em/254mm
  height:431px/26.9375em/114mm
  device-width:960px/60em/254mm
  device-height:600px/37.5em/158mm
  aspect-ratio:960/431
  device-aspect-ratio:8/5 or 2227/1000

Nexus 7 (v2) 2013

Mozilla/5.0 (Linux; Android 4.4.2; Nexus 7 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.93 Sfari/537.36

@media screen
resolution: 127dpi/1dppx
color: 8
-webkit-device-pixel-ratio: 1.3312500715255737 or 1.3

orientation: portrait
  width: 601px/37.5625em/159mm
  height: 881px/55.0625em/207mm
  device-width: 601px/37.5625em/159mm
  device-height: 962px/60.125em/254mm
  aspect-ratio: 601/881
  device-aspect-ratio: 601/962
orientation: landscape
  width: 962px/60.125em/254mm
  height: 529px/33.0625em/114mm
  device-width: 962px/60.125em/254mm
  device-height: 601px/37.5625em/159mm
  aspect-ratio: 962/529
  device-aspect-ratio: 962/601 or 2221/1000
1
davidcondrey

Вы должны попробовать использовать сочетание дюймов для размеров экрана и пикселей для плотности/пространства

С этим вы можете иметь отличную компоновку для галактического нексуса и нексуса 7 без нескольких строк для разрешения !!

// High end Android device
@media  screen and (min-width: 600px) and (max-width: 5in)
{

}
// nexus 7 and ipad mini
@media  screen and (min-width: 7in) and (max-width: 9in)
{

}

Вот статья об этом: http://ungeekautourdumonde.com/css3-tablette-desktop-mobile-la-guerre-des-media-queries/

0
Oyster

Следующий код работал для меня, чтобы предназначаться для вкладки Nexus7.

/** Google Nexus7 (Landscape)**/
@media screen and (min-device-width : 601px) and (max-device-width :970px) {}

Не забудьте добавить метатег в ваш HTML. Например,

<meta name="viewport" content="width=device-width"/>
0
Shivanand Darur