orientation

orientationCSSメディア特性で、ビューポート (またはページ付きメディアではページボックス) の向きを調べるために使用することができます。

メモ: この特性は端末の向きには関係がありません。多くの端末では縦長の向きでソフトキーボードを開くと、ビューポートの幅が高さよりも大きくなり、ブラウザーは portrait ではなく landscape のスタイルを使用することになります。

構文

orientation 特性は以下の一覧のうち一つのキーワード値で指定します。

キーワード値

portrait
ビューポートは縦長です。つまり、高さが幅よりも大きいか等しい状態です。
landscape
ビューポートは横長です。つまり、幅が高さよりも大きい状態です。

HTML

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

CSS

body {
  display: flex;
}

div {
  background: yellow;
}

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

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

結果

仕様書

仕様書 状態 備考
Media Queries Level 4
orientation の定義
勧告候補 変更なし。
Media Queries
orientation の定義
勧告 初回定義

ブラウザーの互換性

BCD tables only load in the browser