レッスン 1

CSS 単位とは何か

レイアウトとタイポグラフィの構成要素として、絶対、相対、ビューポート単位を理解します。

CSS 長さ値には常に単位(または auto のような特殊キーワード)が含まれます。単位は数値が何に対して相対かをブラウザに伝えます。

例:

.card {
  padding: 16px;
  font-size: 1rem;
  width: 50%;
  gap: 2vw;
}

上記の各値はレイアウトエンジンで計算された px サイズに解決されますが、参照フレームは異なります。

開発者が最もよく使う 3 つのファミリー

ファミリー相対対象
絶対pxデバイスピクセル(CSS px)
フォント相対rem, em, %root または親 font-size
ビューポート相対vw, vhビューポート幅または高さ

本番 CSS は 3 つすべてを混在させるのが普通です。

実プロジェクトで単位が重要な理由

単位は構文だけではありません。次に影響します。

  • アクセシビリティ:rem ベースのタイポグラフィは、どこでも固定 px よりユーザーのブラウザ font 設定を尊重しやすい
  • デザイン引き渡し:デザイナーは px を指定しがち、コンポーネントライブラリは rem トークンを保存しがち
  • レスポンシブ挙動:vw と clamp() は各ステップのメディアクエリなしにビューポートでスケール
  • コンポーネントネスト:em と % は親文脈に依存し、ネストコンポーネント内で驚かせることがある

単位 vs メディアクエリ

メディアクエリはブレークポイントでルールを変えます。相対単位と clamp() は文脈からサイズを連続的または相対的に計算します。

両方ともレスポンシブ問題を解きますが、異なる質問に答えます。

  • メディアクエリ:「このブレークポイントで別ルールを適用する。」
  • rem/em/vw/clamp:「文脈からサイズを計算する。」

要点

デザイン値を変換する前に、「このサイズは何に対して相対か?」 を問いかけます。px は画面、rem は root、em は親、vw はビューポート、% は包含ブロックです。

16pxCSS Unit Converter / Clamp Generator を試し、文脈が変わると同じ数値が rem、em、vw でどう変わるか確認してください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る