CSSのsvh・lvh・dvhを使ってビューポートサイズに合わせた表示にする方法【CSS】

最終更新日:

公開日:2025-08-26

ページ内に広告が含まれています。
CSSのsvh・lvh・dvhを使ってビューポートサイズに合わせた表示にする方法【CSS】

先日、ビューポートに基づく相対単位(vw・vh)の仕様と使い方について【CSS】でiOS(主にsafai)の場合は100vhを指定するとアドレスバーなどの高さ分だけ表示が隠れる(ずれる)事を簡単に解説しました。
今回は、その問題を解決できるビューポート単位であるsvh・lvh・dvhについて解説していきます。

ビューポートとは

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

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

height: 100vh;について

ビューポートに基づく相対単位(vw・vh)の仕様と使い方について【CSS】でiOS(主にsafai)の場合は100vhを指定するとアドレスバーなどの高さ分だけ表示が隠れる(ずれる)事を簡単に解説しましたが、下記の図のようにアドレスバーやツールバーの部分は隠れてしまいます。

heightを100vhにすっるとアドレスバーやツールバーに隠れて(ずれて)しまいます。

ビューポート単位svh・lvh・dvhについて

height: 100vh;に頭を抱えていた方も多いかと思います。そんな時に使えるのが、新たな単位であるsvh・lvh・dvhとなります。

  • svh(Small Viewport Height)
    アドレスバーやツールバーが出ている状態のビューポートの高さ
  • lvh(Large Viewport Height)
    アドレスバーやツールバーが格納されている状態のビューポートの高さ
    ※vhと同じと思っていただいて大丈夫かと思います
  • dvh(Dynamic Viewport Height)
    アドレスバーやツールバーの有無(画面状況)によってsvh・lvhが切り替わりビューポートの高さが可変となる
100svh、100lvh、100dvhの挙動の違いについて

それぞれの単位については上記の通りとなります。
ブラウザの種類やバージョンによって、アドレスバーやツールバーの位置などが違う場合もありますが概ね上記のような感じだと思ってもらって大丈夫です。

svh・lvh・dvhの使い方

次にそれぞれの記述の仕方についてです。特別複雑な記述はありませんので、以下の通りに記述していただければ大丈夫です。

/* svh */
div {
    height: 100svh;
}

/* lvh */
div {
    height: 100lvh;
}

/* dvh */
div {
    height: 100dvh;
}

古いバージョンのブラウザは対応していないものもありますので、対応が必要な場合はvhとの併記をするようにしてください。

さいごに

いかがでしたでしょうか。
今回は、CSSのsvh・lvh・dvhを使ってビューポートサイズに合わせた表示にする方法について解説しました。
これまで悩ませていた100vhの問題を解決できるものになりますので、しっかりと各特長を捉えて使えるようにしていきましょう。

おすすめ記事

当ブログ運営者 ヒデ

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

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

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

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

PAGE TOP