Skip to content

CSS単位 解説

すべてのCSS単位:絶対単位、フォント相対、ビューポート相対、流体関数、そして角度・時間・解像度の単位。それぞれが何を基準に測られるのか、いつ使うべきかを解説します。

絶対単位(px、pt)はコンテキストに関係なく固定サイズを保ちます。相対単位(rem、vw、%)は基準値に対してスケールします。フォントサイズにはremを推奨します。ユーザーのルートフォントサイズ設定を尊重するため、タイポグラフィがアクセシビリティの設定に従います。clamp()を使えば、ビューポートに合わせて拡大・縮小しながら最小値と最大値を超えない流体タイポグラフィが実現できます。

リファレンステーブル · 38 単位
38 of 38 rows
絶対
1/96インチ(CSS参照ピクセル)。固定のUIサイズ指定:ボーダー、ヘアライン、アイコンの寸法。border: 1px solid #000;
1/72インチ(1pt = 1.333px)。サイズが実際の紙に対応する印刷用スタイルシート。font-size: 12pt;
1センチメートル(≈37.8px)。実世界の寸法が必要な印刷レイアウト。margin: 2cm;
1ミリメートル(≈3.78px)。細かい印刷の寸法指定。padding: 5mm;
1インチ(96px = 2.54cm)。インチで指定する印刷レイアウト。margin: 1in;
フォント相対
要素自身のフォントサイズ(親から継承)。周囲のテキストと一緒にスケールするスペーシング。padding: 1em;
ルート要素のフォントサイズ(html要素)。フォントサイズ:ユーザーのルートフォントサイズ設定を尊重します。font-size: 1.25rem;
現在のフォントの '0' グリフの送り幅。読みやすい行の長さ(1行の文字数)を設定。max-width: 70ch;
現在のフォントのxハイト(小文字 'x' の高さ)。書体に連動する垂直メトリクス。line-height: 2ex;
現在のフォントのキャップハイト(大文字の高さ)。大文字に合わせた、exよりもタイトな垂直メトリクス。padding-top: 0.5cap;
現在のフォントの「水」という表意文字の送り幅。CJK文字1文字分のセルに追従するサイズ指定。width: 4ic;
要素自身の計算済みline-height。要素をテキストの整数行でサイズ指定。height: 3lh;
ルート要素のline-height。文書の基本行高の倍数でのスペーシング。margin-block: 2rlh;
ビューポート相対
親要素の同じプロパティの値。包含要素に合わせた流体レイアウト。width: 50%;
ビューポート幅の1%。画面幅に合わせたフルブリードのセクション。width: 100vw;
ビューポート高さの1%。画面高さいっぱいのヒーローセクションやオーバーレイ。height: 100vh;
ビューポートの小さい方の寸法の1%。どの向きでも画面に収まる要素サイズ。font-size: 5vmin;
ビューポートの大きい方の寸法の1%。ビューポートの支配的な軸を埋める。font-size: 5vmax;
small viewport高さの1%(ブラウザUIがすべて表示された状態)。展開したブラウザクロームの上に収まる、モバイルの全高セクション。height: 100svh;
large viewport高さの1%(ブラウザUIが隠れた状態)。ブラウザクロームが縮んでも画面を覆い続ける必要がある背景。height: 100lvh;
dynamic viewport高さの1%。ブラウザUIの表示・非表示に追従します。100vhのモバイル向け修正:ブラウザクロームが出現すると高さが変わります。height: 100dvh;
small viewport幅の1%。最も狭いビューポート状態に対応するsvhの幅版。width: 100svw;
large viewport幅の1%。最も広いビューポート状態に対応するlvhの幅版。width: 100lvw;
dynamic viewport幅の1%。ブラウザUIに追従します。クロームとともにビューポートが変化するときのdvhの幅版。width: 100dvw;
インライン軸に沿ったビューポート寸法の1%(横書きでは幅)。書字方向に追従するビューポートサイズ指定。width: 50vi;
ブロック軸に沿ったビューポート寸法の1%(横書きでは高さ)。縦書きモードでも正しく機能するビューポートサイズ指定。height: 50vb;
流体
最小値と最大値で挟まれた推奨値。最小値と最大値を超えない流体タイポグラフィ。width: clamp(320px, 80vw, 1100px);
カンマ区切りの引数のうち最小のもの。最大値を超えないようにサイズを制限。width: min(100%, 600px);
カンマ区切りの引数のうち最大のもの。ビューポートとともに伸びる最小サイズを強制。width: max(50%, 300px);
角度
1回転の1/360。回転トランスフォームとグラデーションの角度位置。transform: rotate(45deg);
ラジアン。1rad ≈ 57.2958deg。数学的に計算された角度。生成されたトランスフォームなど。transform: rotate(1.5708rad);
グラジアン。400grad = 1回転。レガシーまたは測量スタイルの角度値。transform: rotate(100grad);
1turn = 360°の1回転。ひと目で読み取れる全回転・半回転。transform: rotate(0.5turn);
時間
1秒。アニメーションとトランジションの継続時間。transition: opacity 0.3s;
1ミリ秒(1s = 1000ms)。短いUIフィードバックのアニメーションと遅延。animation-duration: 150ms;
解像度
出力の1インチあたりのドット数。印刷向けの解像度メディアクエリ。@media (min-resolution: 300dpi)
px単位あたりのドット数。1dppxは標準の96dpiディスプレイに相当。Retinaおよび高DPIのメディアクエリ。@media (min-resolution: 2x)
1センチメートルあたりのドット数(1dppx ≈ 2.54dpcm)。メートル法での解像度メディアクエリ。@media (min-resolution: 118dpcm)