ページテーマ
CSSの「100vw」と「100%」の違いをスッキリさせる
CSSにおけるビューポートとパーセントの違いについて説明します。
ビューポート (Viewport)

ビューポートは、ウェブページが表示されるブラウザの表示領域を指します。
ビューポートのサイズは、デバイスの画面サイズやブラウザのウィンドウサイズによって変化します。CSSでは、ビューポートに基づいた単位として以下のようなものがあります:
- vw (viewport width): ビューポートの幅の1%を表します。例えば、50vwはビューポートの幅の50%に相当します。
- vh (viewport height): ビューポートの高さの1%を表します。例えば、50vhはビューポートの高さの50%に相当します。
- vmin: ビューポートの幅と高さのうち、より小さい方の1%を表します。
- vmax: ビューポートの幅と高さのうち、より大きい方の1%を表します。
これらの単位は、画面サイズに応じて要素のサイズが変化するのでレスポンシブデザインにおいて非常に有効です。
パーセント (Percent)

パーセントは、親要素に対する相対的なサイズを指定するための単位です。例えば、width:50%;と指定すると、その要素の幅は親要素の幅の50%になります。パーセントは、親要素のサイズに依存するため、親要素のサイズが変わると、子要素のサイズも変わります。
目次
シチュエーションによる使い分け
- ビューポートは、ブラウザの表示領域に基づく単位で、画面サイズに応じて変化します。
- パーセントは、親要素に対する相対的なサイズを指定する単位で、親要素のサイズに依存します。
CSSのレイアウトにおいて、パーセントとビューポートのどちらが適しているかは、具体的なシチュエーションによって異なります。以下にそれぞれの適したシチュエーションを示します。
ビューポートが適しているシチュエーション
- 全画面表示やセクションの高さ:ビューポートの高さや幅を基準にしたい場合、例えば全画面表示のセクションやヒーローイメージなど、ビューポート単位(
vh
やvw
)を使用することで、画面サイズに応じたデザインが実現できます。 - 固定比率の要素:要素のサイズをビューポートに基づいて設定することで、特定の比率を維持したい場合に適しています。例えば、特定のアスペクト比を持つ画像や動画などです。
- レスポンシブなフォントサイズ:フォントサイズをビューポートに基づいて設定することで、画面サイズに応じてテキストのサイズを調整することができます。これにより、異なるデバイスでの可読性を向上させることができます。
パーセントが適しているシチュエーション
- 親要素に依存するレイアウト:子要素のサイズを親要素に対して相対的に設定したい場合、パーセントが適しています。例えば、ナビゲーションバーやカードレイアウトなど、親要素のサイズに応じて子要素のサイズを調整したいときに便利です。
- フレキシブルなグリッドレイアウト:グリッドやフレックスボックスを使用して、要素を均等に配置したい場合、パーセントを使用することで、要素が親要素のサイズに応じて自動的に調整されます。
- レスポンシブデザイン:異なるデバイスや画面サイズに対応するために、要素のサイズを親要素に対して相対的に設定することで、より柔軟なデザインが可能になります。
まとめ
- パーセントは、親要素に依存するレイアウトやフレキシブルなデザインに適しています。
- ビューポートは、画面全体に基づくレイアウトや特定の比率を維持したい場合に適しています。
大まかなイメージを持つだけでも使い分けしやすいのではないでしょうか?
最後までお付き合いありがとうございました。
コメント