Widely available 安心して使用可能。すべての主要ブラウザで長年サポートされている。

概要

vw(ビューポート幅の1%)・vh(ビューポート高さの1%)・vmin(幅と高さの小さい方の1%)・vmax(大きい方の1%)で、ビューポートサイズに連動したレスポンシブな値を指定できる。フルスクリーンセクションや、画面サイズに比例するフォントサイズに利用される。

対応ブラウザ

デスクトップ

Chrome 26+
Edge 16+
Safari 7+
Firefox 19+

モバイル

Chrome Android 26+
Safari iOS 7+
Firefox Android 19+

基本構文

CSS
.hero {
  height: 100vh;
  width: 100vw;
}

.responsive-text {
  font-size: 5vmin;
}

.square {
  width: 50vmin;
  height: 50vmin;
}

実務での使いどころ

  • フルスクリーンセクション

    height: 100vh でビューポート全体を覆うヒーローセクションを作成する。

  • アスペクト比維持の要素

    vmin を使って、画面の向きに関わらず一定のサイズ比率を保つ要素を実現する。

注意点

  • モバイルブラウザではアドレスバーの表示/非表示により100vhの実際の高さが変動する。svh/dvh/lvh の使用を検討。
  • vh をフォントサイズに使うと予想外に大きく/小さくなる場合がある。clamp() と併用を推奨。

アクセシビリティ

  • vw でフォントサイズを指定するとユーザーのズーム操作で文字サイズが変わらない場合がある。rem と組み合わせて使用する。