CSSで使用される単位と値

CSSの単位と値

CSSの宣言は、全てプロパティと値の組を含みます。

プロパティによって、その値は単純な整数やキーワードから、一連のキーワード、単位付きの値、単位なしの値などを含みます。

テキストのデータ型

  • <custom-ident> ユーザー定義のキーワード
  • <ident> プロパティごとの定義済みキーワードやCSS全体での定義済みキーワード
  • <string> 一般的なテキストデータ
  • <url> 参照するファイルのURLなど

CSSの値がテキストの場合、基本は通常のテキストを表す <string> か、CSS識別子を表す <ident> のどちらかになります。

<string> の場合は、”(単一引用符・シングルクオート)か、””(二重引用符・ダブルクオート)のどちらかで囲みます。

逆に、<ident> や <custom-ident> の場合は、引用符で囲んではいけません。

img {
  float: left;  /* 値は<ident>型*/
}
img::after{
  content: 'This is my content.';  /* 値は<string>型 */
}

CSS仕様では、キーフレームアニメーション、フォントファミリ名、グリッド領域など、Web開発者が定義できる値は、<custom-ident> 、 <string> 、またはその両方としてリストされています。

特殊な例として、<url> があり、プロパティ値としてURLを表すような場合に使用されます。

<url> の場合は、関数表記を使って <string> のURLを受け入れます。

p {
  background-image: url('./images/background.png');  /* 相対URLを使用*/
  background-image: url('https//www.exammple.com/images/background.png'); /* 絶対URLを使用*/
}

数値データ型

  • <integer> 整数値
  • <number> 実数値(整数値、小数値)
  • <dimension> 距離などを表す数値全般で、<number> 型と単位を表すキーワードの組み合わせ
    • <length> 距離を表す数値
    • <angle> 角度を表す数値
    • <time> 時間の長さを表す数値
    • <frequency> 周波数を表す数値(ただし、これが使用されているCSSプロパティは今のところ無い)
    • <resolution> 解像度を表す数値
  • <percentage>

一部のプロパティは、<length> または <percentage> など、2つのタイプのいずれかである数値を受け入れます。

距離を表す単位

相対的な値を表す単位

単位名説明
emその要素の font-size の計算値を表します。font-size プロパティ自身に使われた場合は、要素に継承されたフォントの大きさを表します。
exその要素の font における x-height です。 'x' の文字を持つフォントでは一般的に、フォントにおける小文字の高さに相当します。多くのフォントでは 1ex ≒ 0.5em です。
chその要素の font における "0" の幅です。
remルート要素(通常は )の font-size を表します。ルート要素の font-size で使うと初期値を表します。
多くのブラウザーでは既定値は 16px ですが、ユーザー設定によって変わる可能性があります。
vwビューポートの幅の1%を1vwとする値です。
vhビューポートの高さの1%を1vhとする値です。
vminvw と vh の小さい方です。
vmaxvw と vh の大きい方です。

絶対的な値を表す単位

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

角度を表す単位

単位名説明円一周の値
deg度数法 (度) で表した角度です。360deg
gradグラードで表した角度です。400grad
rad弧度法 (ラジアン) で表した角度です。約6.2832rad
*1rad = 180/π
turn回転数で表した角度です。1turn

時間を表す単位

単位名説明換算
s
msミリ秒1000ms = 1s

周波数を表す単位

単位名説明換算
Hzヘルツ(1秒あたりの発生数)
kHzキロヘルツ1kHz = 1,000Hz

解像度の単位

単位名説明換算
dpi1インチあたりのドット数1dpi ≒ 0.39dpcm
dpcm1cmあたりのドット数1dpcm ≒ 2.54dpi
dppx, x 1ピクセルあたりのドット数
x は dppx の別名。
1dppx = 96dpi

特殊なデータ型

  • <color>  色を表すキーワードやRGB値など
  • <image>  二次元の画像を表す
  • <position>  要素ボックスからの相対的な位置を示す座標値

値を定義するための関数

  • calc()
  • min()
  • max()
  • clamp()
  • toggle()
  • attr()

 


このサイトでは、CSSのセレクタ・プロパティなどの定義は下記サイトを参考にしています。
MDN Web Docs: https://developer.mozilla.org/ja/
W3C仕様の正確な定義、最新情報は上記サイトをご覧ください。
CSSのプロパティがどのブラウザに対応しているのかは、下記のサイトで確認できます。
Can I Use?: https://caniuse.com/#home

コメント

タイトルとURLをコピーしました