コーディング犬に聞く:「remとemってどう違うの?」

CSSで文字サイズや余白を指定していると、px、rem、emが出てきて迷うことがあります。

今回は、remとemの違いがわからず、どちらを使えばよいのか迷うという悩みをコーディング犬に相談してみました。

質問人

Q. remとemってどう違うの?

remは、html要素に設定された文字サイズを基準にする単位です。
多くのブラウザでは初期値が16pxなので、1remはだいたい16pxとして考えられます。

emは、親要素やその要素自身の文字サイズを基準にします。
つまり、置かれている場所によって大きさが変わることがあります。

コーディング犬
質問人

Q. remはどんな時に使うの?

remは、サイト全体でサイズ感をそろえたい時に向いています。
本文、見出し、余白、ボタンの内側の余白などをremで指定すると、全体のバランスを管理しやすくなります。

たとえば大阪の店舗サイトや士業サイトのように、読みやすさを大切にしたいページでは、
remを使うと調整がしやすいです。

コーディング犬
質問人

Q. emはどんな時に使うの?

emは、部品の中だけでサイズを連動させたい時に便利です。
たとえばボタンの文字サイズに合わせて、余白も自然に大きくしたい場合です。

文字が大きいボタンなら余白も大きく、小さいボタンなら余白も小さくできます。
部品単位で考えると、emはとても実務的です。

コーディング犬
質問人

Q. pxは使わない方がいいの?

pxが悪いわけではありません。線の太さ、アイコンの細かい位置、
境界線など、固定したい部分にはpxがわかりやすいです。

ただし、本文サイズや大きな余白をすべてpxで決めると、あとから全体調整が大変になることがあります。
まずはremを中心にして、必要なところだけpxを使う考え方がおすすめです。

コーディング犬
質問人

Q. 実際の指定はどう書けばいいの?

基本は、文字サイズや余白にremを使うところから始めるとわかりやすいです。

html {
  font-size: 16px;
}

body {
  font-size: 1rem;
}

.button {
  font-size: 1rem;
  padding: 0.75em 1em;
}

この例では、全体の基準はremでそろえ、ボタンの余白は文字サイズに合わせてemで動くようにしています。

コーディング犬
質問人

Q. 初心者はどちらを覚えればいいの?

まずはremを覚えるのがおすすめです。サイト全体のサイズをそろえやすく、
後から修正する時にも迷いにくいからです。

emは、ボタンやカードなど、部品の中で文字サイズに合わせたい余白が出てきた時に使えば十分です。
最初から完璧に使い分けようとしなくても大丈夫です。

コーディング犬
質問人

Q. remとemのチェックリストは?

  • サイト全体でそろえたい文字サイズや余白はremを使う
  • 部品の文字サイズに合わせたい余白はemを使う
  • 線の太さや細かい固定値はpxでもよい
  • 親要素の影響でemが大きくなりすぎていないか確認する
  • スマホ表示で文字が読みやすいか確認する
コーディング犬

まとめ

remは全体の基準、emは部品の中での調整に向いた単位です。
迷った時はremを基本にして、必要なところだけemを使うと、CSSが読みやすくなります。

コーディング犬との約束です。

コーディング犬のプロフィールはこちら