ビューポート単位:vw、vh、dvh
vw、vh、最新のdvh単位を使って、ブラウザーのビューポートを基準に要素のサイズを設定します。
「ビューポート単位:vw、vh、dvh」はCoddyKit上の無料CSS Academyレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCSS Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 CSS Academyコースには全4レッスンが含まれています。
ビューポート単位とは
ビューポート単位は、ブラウザーのビューポート(ブラウザーウィンドウの表示領域)のサイズを基準とする単位です。利用可能な画面領域に合わせて拡大・縮小するレイアウトやタイポグラフィを実現できます。
vw — ビューポートの幅
1vw = ビューポート幅の1%です。100vwを指定するとビューポート幅全体を埋めます。パーセント指定に伴う問題を避けて、幅いっぱいの要素を作る場合に便利です。
<div class="hero"></div>
vh — ビューポートの高さ
1vh = ビューポート高さの1%です。100vhを指定するとビューポートの高さ全体を埋めます。全画面のヒーローセクションやモーダルでよく使われます。
<div class="fullscreen">100vh fills the viewport height</div>
モバイルにおける100vhの問題
モバイルブラウザーでは、スクロール中にブラウザーUI(アドレスバー)が表示・非表示になるため、ビューポートの高さが変化します。100vhがブラウザーのUI領域を含めるかどうかが一貫しない場合があり、コンテンツの一部が隠れる原因になります。
dvh — 動的ビューポート高
dvh(dynamic viewport height)は、ブラウザーUIの調整後に実際に表示されている高さを反映するよう動的に更新されます。これにより、モバイルにおける100vhの問題を解決できます。
<div class="mobile-hero">Dynamic viewport height (100dvh)</div>
svhとlvh
CSSには、svh(small viewport height — 常にブラウザーUIを除外)とlvh(large viewport height — UIが非表示の場合の高さ)も用意されています。これらを使うと、モバイルでのビューポートの動作を細かく制御できます。
vwによる流動的なタイポグラフィ
font-sizeにvwを使うと、画面に合わせて拡大・縮小する文字を作成できます。
<h1>Fluid Heading</h1>
ビューポート幅の制限
100vwにはデスクトップのスクロールバーの幅も含まれます。これを不用意に使うと、横方向にはみ出す原因になります。ブロック要素ではwidth: 100%を優先し、特定の用途に限ってvwを使用してください。
vminとvmax
1vmin = ビューポートの小さいほうの寸法(幅または高さ)の1%です。1vmax = 大きいほうの寸法の1%です。向きの変化に応じて適応する正方形のコンテナに便利です。
<div class="square"></div>
svw、lvw、dvw — 幅のバリエーション
高さのバリエーションと同様に、CSSには幅に対応するsvw、lvw、dvwがあります。動的なバリエーション(dvw、dvh)はモバイルで特に便利です。
実用的なパターン
ビューポート単位でよく使われるパターン:
min-height: 100dvh— モバイルでも安全な全画面セクションheight: 100svh— 固定UIパネルfont-size: clamp(1rem, 2.5vw, 2rem)— 流動的な見出しwidth: min(800px, 90vw)— 安全な幅のコンテナ
クイックチェック
全画面のモバイルセクションでは、なぜvhよりdvhが推奨されるのでしょうか。
まとめ
vwとvhは、それぞれビューポートの幅と高さの1%です。モバイルではブラウザーUIの影響により、vhは信頼できません。動的でモバイルの表示領域に正確な全画面レイアウトにはdvhを使用します。vminとvmaxは、ビューポートの小さいほうまたは大きいほうの寸法に応じて変化します。
よくある質問
「ビューポート単位:vw、vh、dvh」レッスンは無料ですか?
はい。「ビューポート単位:vw、vh、dvh」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、CSS Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 CSS Academyコースには全4レッスンが含まれています。
「ビューポート単位:vw、vh、dvh」で何を学びますか?
vw、vh、最新のdvh単位を使って、ブラウザーのビューポートを基準に要素のサイズを設定します。 ブラウザで直接実行するハンズオンコードでCSS Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
CSS Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCSS Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「ビューポート単位:vw、vh、dvh」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCSS Academyレッスンでコードを書いて実行できますか?
はい。すべてのCSS Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 絶対単位:px、pt、cm
- 相対単位:emとrem
- ビューポート単位:vw、vh、dvh
- Min、Max、Clamp関数