CSS 速習チュートリアル

CSS 単位

1. CSS 単位とは?

CSS には、長さ(Lengths)を指定するためのさまざまな単位があります。

widthmarginpaddingfont-size などの CSS プロパティでは、多くの場面で長さの指定が必要となります。

h1 {
  margin: 0.5in;
}

p {
  line-height: 2;
}

長さの指定は、数値とその後に続く単位(10px2em など)で構成されます。

       Note: 数値と単位の間にスペースを入れることはできません。また、値が 0 の場合に限り、単位を省略することが可能です。

長さの単位には、大きく分けて絶対単位相対単位の 2 種類があります。

2. 絶対単位 (Absolute Lengths)

絶対単位(Absolute Lengths)は固定されており、その単位で表示される長さは、物理的なサイズとして正確にレンダリングされます。

絶対単位は、出力メディアの物理的なサイズが既知である場合(印刷レイアウトなど)に非常に有効です。

単位名称説明
cmセンチメートル1cm = 37.8px = 25.2/64in
mmミリメートル1mm = 1/10cm
inインチ1in = 96px = 2.54cm
pxピクセル1px = 1/96in
ptポイント1pt = 1/72in
pcパイカ1pc = 12pt

       重要: ピクセル(px)は、表示デバイスに対して相対的な単位です。低解像度のデバイスでは、1px はディスプレイの 1 ドットに対応します。プリンタや高解像度ディスプレイの場合、1px は複数のデバイスドットに対応します。

3. 相対単位 (Relative Lengths)

相対単位(Relative Lengths)は、他の長さのプロパティに対して相対的な長さを指定します。相対単位を使用すると、異なるレンダリング環境(画面サイズやフォント設定など)に合わせてスケーリングされるため、レスポンシブデザインに適しています。

単位説明
em要素自身のフォントサイズ(font-size)に対する相対値(例: 2em は現在のフォントサイズの 2 倍)
ex現在のフォントの x-height(小文字の "x" の高さ)に対する相対値
ch現在のフォントの "0"(ゼロ)の幅に対する相対値
remルート要素(<html>)のフォントサイズに対する相対値
vwビューポート(ブラウザの表示領域)の幅の 1% に対する相対値
vhビューポートの高さの 1% に対する相対値
vminビューポートの幅と高さのうち、小さい方の 1% に対する相対値
vmaxビューポートの幅と高さのうち、大きい方の 1% に対する相対値
%親要素に対する相対値(パーセント)

       Note:emrem は、アクセシブルな Web サイトを作成するために非常に強力な単位です。ユーザーがブラウザのデフォルトフォントサイズを変更した場合でも、レイアウトを適切に維持することができます。

4. ブラウザのサポート (Browser Support)

各単位のブラウザサポート状況は以下の通りです:

単位ChromeEdgeFirefoxSafariOpera
px, cm, mm, in, pt, pc, %全バージョン全バージョン全バージョン全バージョン全バージョン
em, ex全バージョン全バージョン全バージョン全バージョン全バージョン
ch27.012.01.07.015.0
rem4.09.03.65.011.6
vw, vh, vmin20.09.019.06.020.0
vmax26.016.019.07.020.0

モダンなフロントエンド開発において、特にモバイルフレンドリーな UI を構築する際は、固定的な px よりも rem やビューポート単位(vw, vh)を優先して使用することが、現在のベストプラクティスとなっています。