トップページ  > ウェブ制作小ネタTIPS  > CSSのvw、vh、vmin、vmaxを使ってビューポートの幅や高さに対する割合で要素のサイズを指定する

★ウェブ制作小ネタTIPS

CSSのvw、vh、vmin、vmaxを使って、ビューポートの幅や高さに対する割合で要素のサイズを指定する
広告

CSSのvw、vh、vmin、vmaxは、ビューポートの幅や高さに対する割合で要素のサイズを指定する長さ単位です。

px、%、emなどと同じように要素のサイズを指定する際に使用します。

■ビューポート単位

vw
ビューポートの横幅に対する割合で指定する長さ単位。1vwはビューポートの横幅の1%。
vh
ビューポートの高さに対する割合で指定する長さ単位。1vhはビューポートの高さの1%。
vmin
ビューポートの短辺に対する割合で指定する長さ単位。1vminはビューポートの短辺の1%。
vmax
ビューポートの長辺に対する割合で指定する長さ単位。1vmaxはビューポートの長辺の1%。

例えば、ビューポートの横幅に対して20%のサイズの正方形にしたい場合には、vwという単位を使って以下のように記述します。

width: 20vw; height: 20vw;

また、ビューポートの高さに対して20%のサイズの正方形にしたい場合には、vhという単位を使って以下のように記述します。

width: 20vh; height: 20vh;

vw、および、vhによるサイズ指定の場合、スマホやタブレット端末で画面を90度倒すと画面の縦横が入れ替わるので表示サイズが変わります。

■使用例1 ビューポートの横幅に対して20%のサイズの正方形(水色)、および、ビューポートの高さに対して20%のサイズの正方形(ピンク)

CSSソースは外部ファイル(sample.css)に記述

p.sample1 {width: 20vw; height: 20vw; background-color: aqua;}
p.sample2 {width: 20vh; height: 20vh; background-color: pink;}

HTMLソース

<html>
<head>
<link rel="stylesheet" href="sample.css" type="text/css">
</head>
<body>
<p class="sample1">width: 20vw; height: 20vw; を指定</p>
<p class="sample2">width: 20vh; height: 20vh; を指定</p>
</body>
</html>
↓↓↓

ブラウザ上の表示

width: 20vw; height: 20vw; を指定

width: 20vh; height: 20vh; を指定

vmin、および、vmaxによるサイズ指定の場合、 vminはビューポートの短辺、vmaxはビューポートの長辺に対する割合でサイズ指定するので、スマホやタブレット端末で画面を90度倒しても表示サイズは変わりません。

■使用例2 ビューポートの短辺に対して20%のサイズの正方形(緑色)、および、ビューポートの長辺に対して20%のサイズの正方形(黄色)

CSSソースは外部ファイル(sample.css)に記述

p.sample3 {width: 20vmin; height: 20vmin; background-color: green;}
p.sample4 {width: 20vmax; height: 20vmax; background-color: yellow;}

HTMLソース

<html>
<head>
<link rel="stylesheet" href="sample.css" type="text/css">
</head>
<body>
<p class="sample3">width: 20vmin; height: 20vmin; を指定</p>
<p class="sample4">width: 20vmax; height: 20vmax; を指定</p>
</body>
</html>
↓↓↓

ブラウザ上の表示

width: 20vmin; height: 20vmin; を指定

width: 20vmax; height: 20vmax; を指定

広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ