Вы можете сделать это с помощью функции css media «ориентация».Таким образом, вы можете указать стили в зависимости от ориентации экрана, независимо от размера экрана.Вы можете найти официальное определение w3.org об этой медиа-функции здесь .В сочетании со спецификациями developer.mozilla.org это объяснит, как это работает.
Цитата из w3.org о медиа-функции 'direction':
Медиа-функция 'direction' - это 'Portrait', когда значение медиа-функции ' height ' больше или равно значениюмедиа-функции ' width '.Иначе «ориентация» - это «пейзаж».
Примечание / цитата из developer.mozilla.org о функции «ориентации»:
Примечание. Это значение (т. Е. Книжное или альбомное) не не соответствует фактической ориентации устройства .Открытие программной клавиатуры на большинстве устройств в портретной ориентации приведет к тому, что область просмотра станет шире, чем она будет высокой, в результате чего браузер будет использовать альбомные стили вместо портретного.
Итак, повторимся,на самом деле это не ориентация экрана, которая вызывает портретные или альбомные медиа-запросы.Однако это соотношение между высотой и шириной экрана!Из-за этого также имеет смысл использовать «функцию ориентации» с немобильными / тактильными устройствами, поэтому я добавил небольшую демонстрацию, чтобы показать поведение этих медиа-запросов.
JSFIDDLE DEMO (попробуйте изменить размер порта просмотра)
Вот типичные медиазапросы, влияющие на книжную и альбомную ориентацию.
@media screen and (orientation:portrait) {
/* Portrait styles */
/*set width to 100px */
}
@media screen and (orientation:landscape) {
/* Landscape styles */
/* set width to 200px*/
}