Webデザインやコーディングを学んでいると、emとpxという2種類の単位に必ず出会うことでしょう。「emって何?」「pxとどう違うの?」「どうやって変換すればいいの?」と疑問に思っている方は多いはずです。
この記事では、emとpxの変換方法は?emとピクセルの単位換算・変換方法を例題付きで解説!というテーマのもと、初心者の方でもわかりやすいよう丁寧に説明していきます。
emとpxの違いを理解することは、CSSを扱ううえで非常に重要なスキルです。
レスポンシブデザインやアクセシビリティにも深く関わってくるため、ぜひ最後まで読んで理解を深めてみてください。
emとpxの変換方法まとめ!基本は「1em = 16px」が基準
それではまず、emとpxの変換方法の結論からお伝えしていきます。
最も基本となる変換の公式は「1em = 16px」です。
これはブラウザのデフォルトフォントサイズが16pxに設定されているためで、この基準を押さえておくことが単位換算の第一歩となります。
emとpxの基本変換式
em → px の変換:px = em × 基準フォントサイズ(px)
px → em の変換:em = px ÷ 基準フォントサイズ(px)
ブラウザデフォルト時:1em = 16px
たとえば、2emをpxに変換したい場合は「2 × 16 = 32px」、逆に24pxをemに変換したい場合は「24 ÷ 16 = 1.5em」という計算になります。
この変換式さえ覚えておけば、基本的な単位の換算はスムーズに行えるでしょう。
emとpxそれぞれの基本的な意味
まず、それぞれの単位が何を意味するのかを整理しておきましょう。
px(ピクセル)は、画面上の点の数を表す絶対単位です。
「16px」と指定すれば、どの環境でも基本的に同じサイズで表示されるため、直感的に扱いやすい単位といえます。
一方、em(エム)は相対単位と呼ばれるもので、親要素のフォントサイズを基準にサイズが決まります。
親要素が16pxであれば1em = 16px、親要素が20pxであれば1em = 20pxとなるため、文脈によって実際のサイズが変わる点が特徴です。
ブラウザのデフォルトフォントサイズとの関係
多くのブラウザでは、デフォルトのフォントサイズが16pxに設定されています。
そのため、bodyやhtml要素に特別な指定がない場合、1em = 16pxとして計算するのが基本ルールとなります。
ただし、CSSでbody要素に「font-size: 20px;」などと指定した場合は、1em = 20pxとして計算することになります。
このように、emは「どこを基準にするか」によって変換値が変わるため、注意が必要です。
よく使うemとpxの変換早見表
変換をスムーズに行うために、よく使われる値の早見表を確認しておきましょう。
以下の表はブラウザデフォルト(16px基準)での換算値です。
| em | px(16px基準) |
|---|---|
| 0.5em | 8px |
| 0.75em | 12px |
| 1em | 16px |
| 1.25em | 20px |
| 1.5em | 24px |
| 2em | 32px |
| 2.5em | 40px |
| 3em | 48px |
この早見表を手元に置いておくと、CSSを書く際の参考になるでしょう。
emとpxの変換を例題で解説!実際の計算方法をわかりやすく紹介
続いては、emとpxの変換を実際の例題で確認していきます。
理論だけでなく、具体的な例を通して計算方法を身につけることで、実務でもスムーズに活用できるようになるでしょう。
例題1:pxからemへの変換
まず、pxをemに変換するパターンから見ていきましょう。
【例題1】
親要素のフォントサイズが16pxのとき、24pxをemで表すと?
計算式:em = px ÷ 基準フォントサイズ
24 ÷ 16 = 1.5
答え:1.5em
この場合、CSSでは「font-size: 1.5em;」と記述することになります。
親要素が16pxであることを確認してから計算することが大切です。
【例題2】
親要素のフォントサイズが20pxのとき、30pxをemで表すと?
計算式:em = px ÷ 基準フォントサイズ
30 ÷ 20 = 1.5
答え:1.5em
このように、基準となるフォントサイズが変わると、同じemの値でも実際のpxが異なることがわかります。
em単位を使いこなすには、常に「何pxが基準か」を意識することが重要です。
例題2:emからpxへの変換
次は、emをpxに変換するパターンです。
【例題3】
基準フォントサイズが16pxのとき、2.5emは何px?
計算式:px = em × 基準フォントサイズ
2.5 × 16 = 40
答え:40px
【例題4】
親要素のフォントサイズが18pxのとき、2emは何px?
計算式:px = em × 基準フォントサイズ
2 × 18 = 36
答え:36px
emからpxへの変換は、基準値に乗算するだけなのでシンプルです。
ただし、ネストされた要素では基準値が変わることがあるため、注意が必要でしょう。
入れ子(ネスト)構造でのem計算の注意点
emを使う際に多くの人がつまずくのが、入れ子(ネスト)構造における計算です。
【例題5:ネスト構造の例】
body { font-size: 16px; }
親要素 { font-size: 1.5em; } → 16px × 1.5 = 24px
子要素 { font-size: 1.5em; } → 24px × 1.5 = 36px
孫要素 { font-size: 1.5em; } → 36px × 1.5 = 54px
このように、emは親要素を基準に累積して計算されるため、ネストが深くなるとどんどん大きくなってしまうことがあります。
この問題を避けたい場合は、後述するremという単位を活用することが有効です。
emとremの違いは?単位選びのポイントを解説
続いては、emとよく比較されるremについて確認していきます。
emとpxの変換を学ぶうえで、rem(レム)との違いを理解しておくことも非常に重要です。
「emとremはどちらを使えばいいの?」という疑問を持つ方も多いでしょう。
remはhtml要素を基準にする相対単位
remはemと同じく相対単位ですが、基準となる要素が異なります。
emが親要素のフォントサイズを基準にするのに対し、remはhtml要素(ルート要素)のフォントサイズを基準にします。
emとremの基準の違い
em:親要素のフォントサイズを基準にする
rem:html要素(ルート要素)のフォントサイズを基準にする
html要素のデフォルト:16px(ブラウザ標準)
そのため、remはネストが深くなっても計算が狂いにくく、管理のしやすさではremが優れているといえます。
一方、emは親要素に追従する柔軟性があるため、コンポーネント単位での設計に向いています。
emとremの使い分けの考え方
emとremの使い分けには、明確な基準があります。
| 単位 | 基準 | 向いている用途 |
|---|---|---|
| em | 親要素のfont-size | ボタンやコンポーネント内のサイズ調整 |
| rem | html要素のfont-size | ページ全体のフォントサイズ・余白管理 |
| px | 絶対値(固定) | ボーダーや細かい固定サイズの指定 |
一般的には、ページ全体の文字サイズにはrem、コンポーネント内の余白やサイズにはemを使うという使い分けが推奨されています。
pxはボーダーなど絶対的な固定値が必要な場合に使うとよいでしょう。
アクセシビリティとemの関係
emやremを使うことには、アクセシビリティ向上という重要なメリットがあります。
pxで固定したフォントサイズは、ブラウザの文字サイズ設定を変更しても反映されないことがあります。
一方、emやremで指定したフォントサイズはユーザーのブラウザ設定に追従してサイズが変わるため、視覚に障がいのある方や高齢者にとっても使いやすいWebサイトを実現できます。
アクセシビリティの観点からも、フォントサイズにはemまたはremを積極的に活用することが推奨されているのです。
emとpxをCSSで実践的に使う方法と換算のコツ
続いては、実際のCSS記述においてemとpxを使いこなすためのコツを確認していきます。
単位の換算方法を理解したら、次は実務での活用方法を押さえておきましょう。
html要素に基準フォントサイズを設定するテクニック
CSSを書く際によく使われるテクニックとして、html要素のフォントサイズを62.5%に設定する方法があります。
【よく使われるCSS記述例】
html {
font-size: 62.5%;
}
body {
font-size: 1.6rem; /* = 16px */
}
62.5%という値は、16px × 62.5% = 10pxとなるため、1rem = 10pxという計算しやすい状態を作れます。
この設定を使うと、たとえば16pxは1.6rem、24pxは2.4remと直感的に計算しやすくなるため、コーディングのスピードが上がるでしょう。
メディアクエリとemの組み合わせ
レスポンシブデザインにおいても、emは重要な役割を果たします。
メディアクエリでは、px指定よりもem指定の方がブラウザのズーム機能と相性がよいとされています。
【メディアクエリでのem使用例】
@media (max-width: 48em) { /* 48em = 768px(16px基準) */
/* スマートフォン向けスタイル */
}
@media (max-width: 64em) { /* 64em = 1024px(16px基準) */
/* タブレット向けスタイル */
}
メディアクエリ内のemは常にブラウザデフォルトの16pxが基準になるため、計算が安定しているというメリットがあります。
レスポンシブ対応を意識したコーディングでは、emを積極的に活用してみてください。
emとpxの変換ツール・計算ツールの活用
毎回手計算をしなくても、オンラインの変換ツールやCSS計算ツールを使えば素早く換算できます。
代表的な変換ツールとしては以下のようなものがあります。
| ツール名 | 特徴 |
|---|---|
| pxtoem.com | px・em・remの一括変換表が見やすい |
| nekocalc.com | 基準フォントサイズを変更して換算できる |
| CSSmatic | 各種CSS単位の変換に対応している |
これらのツールを活用しながら、徐々に計算式を頭に入れていくことが上達への近道です。
最終的には「この値は何px相当か」が感覚的にわかるようになると、コーディングのスピードが大幅に向上するでしょう。
まとめ
この記事では、emとpxの変換方法は?emとピクセルの単位換算・変換方法を例題付きで解説!というテーマで、基本的な変換公式から実践的な活用方法まで幅広くご紹介しました。
最も重要なポイントを改めて整理すると、基本の変換式は「em = px ÷ 基準フォントサイズ」「px = em × 基準フォントサイズ」の2つです。
ブラウザのデフォルトフォントサイズは16pxであるため、特別な指定がない場合は1em = 16pxを基準に計算しましょう。
emはネスト構造に注意が必要ですが、remを併用することで管理しやすいCSSを書くことができます。
また、emを使うことでアクセシビリティの向上にもつながるため、積極的に活用していくことをおすすめします。
最初は少し難しく感じるかもしれませんが、例題を繰り返し解いて変換の感覚を身につけていきましょう。
emとpxを使いこなすことができれば、より柔軟で品質の高いWebデザイン・コーディングが実現できるはずです。