--- title: '@viewport' slug: Web/CSS/@viewport tags: - '@viewport' - At-rule - CSS - Experimental - Layout - Mobile - Reference - Screen Layout - viewport translation_of: Web/CSS/@viewport ---
注: https://github.com/w3c/csswg-drafts/issues/4766 に @viewport を標準路線から除外することに関する議論があります。
@viewport
は CSS のアット規則で、文書を通して表示するための{{glossary("viewport", "ビューポート")}}を構成することができます。第一にモバイル端末のために使用されますが、 (Microsoft Edge などの) "snap to edge" のような機能に対応するデスクトップブラウザーでも使用されます。
パーセント値で指定された長さは、初期ビューポートからの相対で計算されます。これはユーザーエージェントや記述されたスタイルがビューポートを調整する機会を持つ前のビューポートです。これはふつう、デスクトップブラウザーのウィンドウの寸法に基づくもので、全画面モードのものではありません。
モバイル端末 (または全画面モードのデスクトップ端末) では、初期ビューポートはふつう端末の画面のうちアプリケーションが利用できる部分です。これは全画面の場合もあれば、全画面からオペレーティングシステムが制御する領域 (タスクバーなど) を引いた部分の場合、アプリケーションが利用できる画面領域 (全画面又は画面からオペレーティングシステムやその他のアプリケーションが所有する領域を引いた部分) の場合もあります。
@viewport { width: 100vw; /*実際のビューポートの幅を端末の幅に設定*/ }
メモ: <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 { min-width: 640px; max-width: 800px; } @viewport { zoom: 0.75; min-zoom: 0.5; max-zoom: 0.9; } @viewport { orientation: landscape; }
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName("CSS Round Display", "#extending-viewport-rule", "@viewport")}} | {{Spec2("CSS Round Display")}} | {{cssxref("@viewport/viewport-fit", "viewport-fit")}} 記述子を定義。 |
{{SpecName('CSS3 Device', '#atviewport-rule', '@viewport')}} | {{Spec2('CSS3 Device')}} | 初回定義 |
このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 https://github.com/mdn/browser-compat-data をチェックアウトしてプルリクエストを送信してください。
{{Compat("css.at-rules.viewport")}}
<meta name="viewport">
の項目