aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/css/@viewport/index.md
blob: 965ecea48acff847f7a962dcd7b4c298aac61e5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
title: '@viewport'
slug: Web/CSS/@viewport
tags:
  - '@viewport'
  - アットルール
  - CSS
  - 実験的
  - レイアウト
  - モバイル
  - リファレンス
  - 画面レイアウト
  - ビューポート
browser-compat: css.at-rules.viewport
translation_of: Web/CSS/@viewport
---
{{CSSRef}}{{deprecated_header}}

> **Note:** <https://github.com/w3c/csswg-drafts/issues/4766> に @viewport を標準化路線から除外することに関する議論があります。

**`@viewport`** は [CSS](/ja/docs/Web/CSS) の[アットルール](/ja/docs/Web/CSS/At-rule)で、文書が表示される{{glossary("viewport", "ビューポート")}}を構成することができます。主にモバイル端末のために使用されますが、 (Microsoft Edge などの) "snap to edge" のような機能に対応するデスクトップブラウザーでも使用されます。

パーセント値で指定された長さは、**初期ビューポート**からの相対で計算されます。これはユーザーエージェントや記述されたスタイルがビューポートを調整する機会を持つ前のビューポートです。これはふつう、デスクトップブラウザーのウィンドウの寸法に基づくもので、全画面モードのものではありません。

モバイル端末 (または全画面モードのデスクトップ端末) では、初期ビューポートはふつう端末の画面のうちアプリケーションが利用できる部分です。これは全画面の場合もあれば、全画面からオペレーティングシステムが制御する領域 (タスクバーなど) を引いた部分の場合、アプリケーションが利用できる画面領域 (全画面または画面からオペレーティングシステムやその他のアプリケーションが所有する領域を引いた部分) の場合もあります。

```css
@viewport {
  width: 100vw; /*実際のビューポートの幅を端末の幅に設定*/
}
```

> **Note:** `<meta name="viewport">` タグを使用すると、 `@viewport` より優先します。

## 構文

このアットルールは波括弧で囲まれた CSS ブロック内に、一連の入れ子になった{{glossary("descriptor (CSS)", "記述子")}}を含みます。

`1.0` または `100%`*拡大率*は拡大縮小なしに相当します。より大きい値はズームイン、より小さい値はズームアウトになります。

### 記述子

現時点では `@viewport` のブラウザーの互換性は弱く、対応は Internet Explorer および Edge で広く行われています。これらのブラウザーでも、少数の記述子しか利用できません。 `@viewport` は対応していないブラウザーからは無視され、理解できない記述子は無視されるでしょう。

- `min-width`
  - : 文書が最初に表示されたときの、ビューポートの幅を決めるのに使われます。
- `max-width`
  - : 文書が最初に表示されたときの、ビューポートの幅を決めるのに使われます。
- `width`
  - : `min-width``max-width` の両方を設定するための一括指定です。
- `min-height`
  - : 文書が最初に表示されたときの、ビューポートの高さを決めるのに使われます。
- `max-height`
  - : 文書が最初に表示されたときの、ビューポートの高さを決めるのに使われます。
- `height`
  - : `min-height``max-height` の両方を設定するための一括指定です。
- `zoom`
  - : ズームの初期値を設定します。
- `min-zoom`
  - : ズームの最小値を設定します。
- `max-zoom`
  - : ズームの最大値を設定します。
- `user-zoom`
  - : ユーザーが拡大率を変更できるか否かを制御します。
- `orientation`
  - : 文書の向きを制御します。
- `viewport-fit`
  - : 長方形ではないディスプレイでの文書の表示を制御します。

## 形式文法

{{csssyntax}}

## 例

### ビューポートの大きさ、拡大率、向きの設定

```css
@viewport {
  min-width: 640px;
  max-width: 800px;
}

@viewport {
  zoom: 0.75;
  min-zoom: 0.5;
  max-zoom: 0.9;
}

@viewport {
  orientation: landscape;
}
```

## 仕様書

{{Specifications}}

## ブラウザーの互換性

{{Compat}}

## 関連情報

- {{HTMLElement("meta")}}、特に `<meta name="viewport">` の項目
- [viewport meta タグによるモバイルブラウザーでのレイアウト制御](/ja/docs/Web/HTML/Viewport_meta_tag)