Медиахарактеристика 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