ビューポートに基づく相対単位(vw・vh)の仕様と使い方について【CSS】

最終更新日:

公開日:2025-07-15

ページ内に広告が含まれています。
ビューポートに基づく相対単位(vw・vh)の仕様と使い方について【CSS】

横幅や縦幅を指定する単位として「px」や「%」などがありますが、ビューポート(画面のサイズ)を基準とした単位「vw」や「vh」もあります。
レスポンシブデザインが主流の現在、「vw」や「vh」はよく使用されている単位かとは思いますが、仕様や使い方について詳しく解説していきますので、初心者の方も参考にしてみてください。

ビューポートとは

ビューポートとは、Webサイトの内容が表示される画面(ブラウザ)の表示領域の事を言います。
これだけ聞くと小難しい感じがしますが、ざっくりいうとブラウザの幅・高さの事です。

ビューポートと聞くと、meta要素のname属性の値のviewportかと思われる方もいるかと思いますが、今回は先程述べたような画面の表示領域のビューポートとなります。

vw・vhについてと基本的な使い方

vw」と「vh」は先程述べたビューポートを元にした相対単位の事です。
以下のように、vw」はビューポートの横幅の割合、「vh」はビューポートの縦幅の割合となります。

  • vw(Viewport Width):画面(ブラウザ)の表示領域の横幅の割合
  • vh(Viewport Height):画面(ブラウザ)の表示領域の縦幅の割合

1vwは画面(ブラウザ)の表示領域の横幅1%、100vwで100%となります。vhでは画面(ブラウザ)の表示領域の縦幅となり、1vhで1%、100vhで100%となります。
ともに、要素の横幅(width)や高さ(height)の値としてよく使用されています。

vwの使い方

使い方は通常のCSSの記載と同じく表示したい割合を数値として記述するものとなります。

/* 画面(ブラウザ)の表示領域(ビューポート)の横幅100% */
.box {
    width: 100vw;
}

/* 画面(ブラウザ)の表示領域(ビューポート)の横幅50% */
.box {
    width: 50vw;
}

vhの使い方

こちらも、使い方は通常のCSSの記載と同じく表示したい割合を数値として記述するものとなります。

/* 画面(ブラウザ)の表示領域(ビューポート)の縦幅100% */
.box {
    height: 100vw;
}

/* 画面(ブラウザ)の表示領域(ビューポート)の縦幅50% */
.box {
    height: 50vw;
}

その他の使い方

その他の使い方として以下のような使い方も可能です。

calc関数

cssのcalc関数でも使用できます。意外と使用するのでしっかりと使えるようになりましょう。

.box {
    width: clac(100vh - 500px);
}
/* 画面サイズが1200pxの場合、widthは700pxとなります。 */

フォントサイズ

横幅や縦幅の指定に使われると思いがちですが、フォントサイズなどにも使用できます。
フォントサイズに使用する事で、画面幅や縦幅に応じたフォントサイズになります。

.box {
    font-size: 2vw;
}

ただし、画面幅・縦幅によって大きくなり過ぎたり小さくなり過ぎたりしますので、適時ブレイクポイントで指定し直すか、clamp関数やmax関数・min関数で最大・最小サイズを指定する方法もあります。
こちらについては後日解説させていただきます。

その他にもpaddingmarginなどいろいろなCSSプロパティに使用する事が可能です。

スマホ(iOS)でのvhの注意点

vhは画面(ブラウザ)の表示領域の縦幅の割合となりますが、スマホ(iOSのsafari)の場合は注意が必要です。
以下の画像のように、vhはブラウザの上下にあるアドレスバー・ツールバーも含めた高さになるからです。

画面いっぱいに画像を表示させる場合や、画面の中央に要素を配置したい場合などには注意が必要となります。
この問題を解決するには「svh」「lvh」「dvh」といった単位もありますが、これらについてはまた後日解説させていただきます。

さいごに

いかがでしたでしょうか。
今回は、ビューポートに基づく相対単位(vw・vh)の仕様と使い方について解説しました。
よく使用される単位でもありますので、しっかりと特長を理解し適切に使用するようにしてください。

おすすめ記事

当ブログ運営者 ヒデ

北海道札幌市在住のフリーランスでWeb制作を行っているヒデです。Webコーディング(HTML・CSS・JSなど)やWordpressのカスタマイズ等のテクニック、困った時に確認できる分かりやすい解説を目標にして情報を発信していければと思っています。プロフィールはこちら

当サイトに関するご意見・ご感想・ご要望または仕事のご依頼は以下のフォームよりお願い致します。

お問い合わせ お仕事のご依頼

各SNSのフォローはこちらから

PAGE TOP