pxをremへ — CSS単位表120種
16pxは1remであり12ptでもあります。1pxから120pxまで、rem・pt・pc・インチ・ミリメートルを1行に並べました。
よく使う大きさ
本文16px、小さい文字14px、余白8・24・32pxのように繰り返し出てくる値です。
remを16で割る理由
ブラウザの既定の文字サイズが16pxで、remはその倍数だからです。利用者がブラウザで文字を大きくすると、remで書いた部分だけが一緒に大きくなります——pxで固定した部分はそのままです。
画面ではptもインチも画素で決まります
CSSは1インチを96px、1ptを1/72インチと定めています。だから16pxはちょうど12ptですが、画面に定規を当ててもその「1インチ」は1インチになりません。
割り切れる値
remが整数になるのは16の倍数、ptが整数になるのは4の倍数です——4pxがちょうど3ptだからです。
1pxから120pxまで
読み方
- rem = px ÷ 16。ブラウザの既定の文字サイズが16pxだからです。
- pt = px × 0.75。CSSが1インチを96px、1ptを1/72インチと定めています。
- 1pcは12pt、1インチは96pxであり72ptでもあります。
- 文字と余白はremで、境界線のように細くしたい線はpxで書くのがよいです。
よくある質問
Q. 1remは何pxですか?
既定では16pxです。利用者がブラウザ設定で文字を大きくしていればその分大きくなります——それがremを使う理由です。
Q. pxとremのどちらで書くべきですか?
文字と余白はremが向きます。利用者が文字を大きくしたときに一緒に大きくなるからです。1pxの境界線のように細くしたい線はpxのままにします。
Q. htmlにfont-size: 62.5%を指定するのはなぜですか?
ルートを10pxにして1.6rem = 16pxのように計算しやすくする方法です。ただし既定の文字サイズを自分で大きくしている利用者には、意図せず小さく表示されます。
Q. ptは今でも使うのですか?
印刷から来た単位で、印刷用スタイルシートやメールのテンプレートに残っています。画面では16px = 12ptに換算されます。
Q. emとremの違いは?
remは常にルートの文字サイズを基準にしますが、emはその要素の文字サイズを基準にします。だからemは入れ子になるほど掛け合わされます。