Spec-Zone.ru › CSS

Медиахарактеристика CSS `orientation`

Baseline Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна в браузерах с июля 2015 года.

orientation — CSS-медиахарактеристика, которая позволяет проверить ориентацию области просмотра (или области страницы в постраничных медиа).

Примечание: Эта функция не соответствует ориентации устройства. Открытие экранной клавиатуры на многих устройствах в портретной ориентации приводит к тому, что область просмотра становится шире, чем выше, и браузер применяет стили для альбомной ориентации вместо портретной.

Синтаксис

Медиахарактеристика orientation задаётся одним из ключевых слов, перечисленных ниже.

Ключевые слова

portrait
Область просмотра имеет портретную ориентацию, то есть её высота больше или равна ширине.
landscape
Область просмотра имеет альбомную ориентацию, то есть её ширина больше высоты.

Примеры

Портретная ориентация

В этом примере в HTML есть три блока. Медиахарактеристика orientation переключает их расположение между строкой (в альбомной ориентации) и столбцом (в портретной ориентации).

Результат примера встроен в <iframe>, высота которого больше ширины, поэтому блоки расположены столбцом.

HTML

<div>Box 1</div>
<div>Box 2</div>
<div>Box 3</div>

CSS

body {
  display: flex;
}

div {
  background: yellow;
  width: 200px;
  height: 200px;
  margin: 0.5rem;
  padding: 0.5rem;
}

@media (orientation: landscape) {
  body {
    flex-direction: row;
  }
}

@media (orientation: portrait) {
  body {
    flex-direction: column;
  }
}

Результат

Альбомная ориентация

В этом примере используется точно такой же код, как и в предыдущем: в HTML есть три блока, а медиахарактеристика orientation переключает их расположение между строкой (в альбомной ориентации) и столбцом (в портретной ориентации).

Однако в этом примере результат встроен в <iframe>, высота которого меньше ширины, поэтому блоки расположены строкой.

HTML

<div>Box 1</div>
<div>Box 2</div>
<div>Box 3</div>

CSS

body {
  display: flex;
}

div {
  background: yellow;
  width: 200px;
  height: 200px;
  margin: 0.5rem;
  padding: 0.5rem;
}

@media (orientation: landscape) {
  body {
    flex-direction: row;
  }
}

@media (orientation: portrait) {
  body {
    flex-direction: column;
  }
}

Спецификации

Спецификация
Media Queries Level 4
# orientation

Совместимость с браузерами

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome для Android Firefox для Android Opera для Android Safari на iOS Samsung Internet WebView для Android WebView на iOS
orientation
3
12
2
10.6
5
18
4
11
4.2
1.0
4.4
4.2

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@media/orientation

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API