【CSS】サイズ指定
CSS
2021/04/03
プロパティ
サイズに関するプロパティには主に以下のようなものがあります。
width
,height
padding
,margin
top
,bottom
,left
,right
font-size
border-width
単位
絶対値に対する単位
cm
を基準に、物理的なサイズに対する単位となります。
単位 | 説明 |
---|---|
cm | センチメートル |
mm | ミリメートル 1cm = 10mm |
in | インチ 1in = 2.54cm |
pt | ポイント 1in = 72pt |
px | ピクセル 1in = 96px |
この中でもよく使用されるのはpx
です。
フォントサイズはデフォルトで16px
と設定されていたりします。
HTML
<div style="width: 2.54cm; height: 2.54cm">
cm
</div>
<div style="width: 1in; height: 1in">
in
</div>
<div style="width: 96px; height: 96px">
px
</div>
cm
in
px
相対値に対する単位
絶対値を基準として相対的なサイズに対する単位です。
例えば16px
の 2 倍のサイズといった指定の仕方です。
レスポンシブデザインにはこちらを指定することが多いです。
単位 | 説明 |
---|---|
em | 要素のフォントサイズに対する相対値 |
rem | ルート要素のフォントサイズに対する相対値 |
vw | ビューポートの幅 1%のサイズ |
vh | ビューポートの高さ 1%のサイズ |
vmin | ビューポートの幅、高さの小さい方の 1%のサイズ |
vmax | ビューポートの幅、高さの大きい方の 1%のサイズ |
ビューポートはページの表示領域のことで、幅(横)、高さ(縦)でそれぞれ値を持ち、ブラウザサイズによって変動します。
em
,rem
の例HTML<div style="font-size: 12px"> <p>あいうえお</p> <p style="font-size: 2em">あいうえお</p> </div>
あいうえお
あいうえお
vh
,vw
の例100vh
、100vw
で画面全体の指定になります。HTML<div style="width: 10vw; height: 10vh"> 画面の1/10のサイズ </div>
画面の1/10のサイズvmin
,vmax
の例
ブラウザのサイズ変更をすると違いがわかると思います。HTML<div style="width: 10vmin; height: 10vmin"> 小さい方の1/10サイズ </div> <div style="width: 10vmax; height: 10vmax"> 大きい方の1/10サイズ </div>
小さい方の1/10サイズ
大きい方の1/10サイズ
%
%
は、プロパティに対する相対値を表します。
width: 50%
とすれば、width
の値を半分にするといったことです。
そのためプロパティにどのような値が設定されるかを理解した上で使用する必要があります。
HTML
<div style="width: 20vw; background: #eee">
<div>
指定なし
</div>
<div style="width: 100%">
100%
</div>
<div style="width: 75%">
75%
</div>
<div style="width: 50%">
50%
</div>
<div style="width: 25%">
25%
</div>
</div>
指定なし
100%
75%
50%
25%
関数
サイズに関して、以下の関数が利用できます。
calc
calc
はプロパティ値対して計算を行うことができます。
計算には単位の異なるプロパティ値も使用可能です。
HTML
<div style="width: 50%">
50%
</div>
<div style="width: calc(50% - 50px)">
50% - 50px
</div>
50%
50% - 50px
max, min
max
はいくつかのプロパティ値を指定し、その中の最大値を反映します。
min
は逆に最小値を反映します。
HTML
<div style="width: max(50%, 400px, 30vw)">
max
</div>
<div style="width: min(50%, 400px, 30vw)">
min
</div>
50%
400px
30vw
max
min
clamp
clamp
は、clamp(最小値、基準値、最大値)
のようにプロパティ値を指定します。
基本的には基準値のプロパティ値が反映されますが、その値は最大値と最小値の範囲を超えないよう変動します。
300px
50%
400px
clamp