Как установить разные медиа-запросы для ноутбука 1024px и ipad шириной 1024px?

#html #css #ipad #responsive-design #media-queries

#HTML #css #iPad #адаптивный дизайн #медиа-запросы

Вопрос:

Я хочу установить разные медиа-запросы для экранов шириной 1024 пикселей в зависимости от того, является ли это экраном ноутбука или экраном iPad.

Например, если кто-то просматривает мой сайт на ноутбуке (ширина: 1024px), он должен увидеть изображение, а если он просматривает его с iPad (ширина: 1024px), изображение должно быть скрыто (отображение: отсутствует).

Ответ №1:

Вы, вероятно, имеете в виду iPad Pro, ширина которого равна 1024px .

Вы можете определить, является ли устройство iPad или ноутбуком, используя медиа-запросы, проверяя высоту устройства: высота iPad Pro 1366px — это то, что, я думаю, выше высоты любого ноутбука, поэтому CSS будет выглядеть так:

 @media screen and (min-width: 1024px) and (min-height: 1320px) {
    /* iPad Pro */
}

@media screen and (min-width: 1024px) and (max-height: 1310px) {
    /* Laptop */
}
  

Ответ №2:

Если ширина экранов одинакового размера, CSS, я думаю, не может отличить их друг от друга.

Вы можете использовать JavaScript. platform Свойство из navigator объекта возвращает строку с платформой, на которой используется браузер. (например, MacIntel, Win32) (Использование: platform.navigator )

Для отключения и включения таблицы стилей это может сработать для вас: http://www.codechewing.com/library/how-to-disable-or-enable-a-stylesheet-in-javascript /

Ответ №3:

для медиа-запросов, специфичных для ipad, используйте приведенный ниже код,

если вы хотите скрыть изображение на ipad шириной 1024 пикселя, т.Е. в ландшафтном режиме, вы можете использовать класс «hide-me-landscape»

если вы хотите скрыть изображение на ipad в альбомном и портретном режимах, используйте класс «скрыть меня»

если вы хотите скрыть изображение в портретном режиме, используйте класс «скрыть-меня-портрет»

смотрите приведенный ниже код для примера

 /* Portrait and Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .hide-me{
        display: none;
    }
}

/* Portrait */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: portrait) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .hide-me-portrait{
        display: none;
    }

}

/* Landscape */
@media only screen 
  and (min-device-width: 768px) 
  and (max-device-width: 1024px) 
  and (orientation: landscape) 
  and (-webkit-min-device-pixel-ratio: 1) {
    .hide-me-landscape{
        display: none;
    }
}
  

вы можете узнать больше об этом здесь

вы также можете использовать modernizr, чтобы определить, использует ли пользователь устройство с сенсорным экраном или нет, и соответствующим образом применить свой css

надеюсь, это поможет 🙂