CSS px โ†” rem ๋ณ€ํ™˜๊ธฐ

CSS ๋‹จ์œ„์ธ px์™€ rem์„ ์ƒํ˜ธ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

CSS ๋‹จ์œ„ ๋ณ€ํ™˜๊ธฐ
ํ”ฝ์…€(px)์„ rem ๋‹จ์œ„๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
CSS ๋‹จ์œ„ ์„ค๋ช…

px (ํ”ฝ์…€)

์ ˆ๋Œ€ ๋‹จ์œ„๋กœ, ํ™”๋ฉด์˜ ํ”ฝ์…€ ํ•˜๋‚˜๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์—๋Š” ์ œํ•œ์ ์ž…๋‹ˆ๋‹ค.

rem (Root EM)

์ƒ๋Œ€ ๋‹จ์œ„๋กœ, ๋ฃจํŠธ ์š”์†Œ(html)์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ ‘๊ทผ์„ฑ๊ณผ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜ ๊ณต์‹

px โ†’ rem: px รท ๊ธฐ๋ณธํฐํŠธํฌ๊ธฐ
rem โ†’ px: rem ร— ๊ธฐ๋ณธํฐํŠธํฌ๊ธฐ

์‚ฌ์šฉ ๊ถŒ์žฅ์‚ฌํ•ญ

  • โ€ข ํฐํŠธ ํฌ๊ธฐ: rem ์‚ฌ์šฉ ๊ถŒ์žฅ
  • โ€ข ์—ฌ๋ฐฑ(margin, padding): rem ๊ถŒ์žฅ
  • โ€ข ํ…Œ๋‘๋ฆฌ: px ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • โ€ข ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ: rem ๊ถŒ์žฅ
์ผ๋ฐ˜์ ์ธ ๋ณ€ํ™˜๊ฐ’
px
rem
8px
0.5rem
12px
0.75rem
14px
0.875rem
16px
1rem
18px
1.125rem
20px
1.25rem
24px
1.5rem
32px
2rem

CSS ๋‹จ์œ„ ์™„๋ฒฝ ๊ฐ€์ด๋“œ

์›น ๊ฐœ๋ฐœ์—์„œ ์˜ฌ๋ฐ”๋ฅธ CSS ๋‹จ์œ„ ์„ ํƒ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜๊ณผ ์ ‘๊ทผ์„ฑ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. px์™€ rem์˜ ์ฐจ์ด์ ์„ ์ดํ•ดํ•˜๊ณ  ์ ์ ˆํ•œ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.

ํ”ฝ์…€(px) ๋‹จ์œ„ ์‹ฌํ™” ๊ฐ€์ด๋“œ

๐Ÿ“ ํŠน์ง•

  • โ€ข ์ ˆ๋Œ€ ๋‹จ์œ„๋กœ ํ™”๋ฉด ํ”ฝ์…€๊ณผ 1:1 ๋Œ€์‘
  • โ€ข ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ผ๊ด€๋œ ํฌ๊ธฐ ๋ณด์žฅ
  • โ€ข ์ •๋ฐ€ํ•œ ๋ ˆ์ด์•„์›ƒ ์ œ์–ด ๊ฐ€๋Šฅ
  • โ€ข ์‚ฌ์šฉ์ž ์„ค์ •์— ์˜ํ–ฅ๋ฐ›์ง€ ์•Š์Œ

โœ… ์‚ฌ์šฉ ๊ถŒ์žฅ ์ƒํ™ฉ

  • โ€ข ํ…Œ๋‘๋ฆฌ ๋‘๊ป˜ (1px, 2px)
  • โ€ข ๊ทธ๋ฆผ์ž ์˜คํ”„์…‹
  • โ€ข ์•„์ด์ฝ˜ ํฌ๊ธฐ (16px, 24px)
  • โ€ข ๋ฏธ์„ธํ•œ ๊ฐ„๊ฒฉ ์กฐ์ •

โš ๏ธ ์ฃผ์˜์‚ฌํ•ญ

  • โ€ข ์‚ฌ์šฉ์ž ํฐํŠธ ํฌ๊ธฐ ์„ค์ • ๋ฌด์‹œ
  • โ€ข ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
  • โ€ข ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์— ์ œํ•œ์ 
rem ๋‹จ์œ„ ์‹ฌํ™” ๊ฐ€์ด๋“œ

๐Ÿ“ ํŠน์ง•

  • โ€ข ๋ฃจํŠธ ์š”์†Œ(html) ํฐํŠธ ํฌ๊ธฐ ๊ธฐ์ค€
  • โ€ข ์‚ฌ์šฉ์ž ์„ค์ • ๋ฐ˜์˜
  • โ€ข ์ผ๊ด€๋œ ๋น„์œจ ์œ ์ง€
  • โ€ข ์ ‘๊ทผ์„ฑ ์นœํ™”์ 

โœ… ์‚ฌ์šฉ ๊ถŒ์žฅ ์ƒํ™ฉ

  • โ€ข ํฐํŠธ ํฌ๊ธฐ ์„ค์ •
  • โ€ข ์—ฌ๋ฐฑ(margin, padding)
  • โ€ข ์ปจํ…Œ์ด๋„ˆ ํฌ๊ธฐ
  • โ€ข ๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ

๐Ÿ’ก ์žฅ์ 

  • โ€ข ํ™•๋Œ€/์ถ•์†Œ ์‹œ ๋น„์œจ ์œ ์ง€
  • โ€ข ์ ‘๊ทผ์„ฑ ํ–ฅ์ƒ
  • โ€ข ์œ ์ง€๋ณด์ˆ˜ ์šฉ์ด
์‹ค๋ฌด ์ ์šฉ ๊ฐ€์ด๋“œ

๐ŸŽฏ ๋‹จ์œ„๋ณ„ ์‚ฌ์šฉ ์ „๋žต

ํƒ€์ดํฌ๊ทธ๋ž˜ํ”ผ

ํฐํŠธ ํฌ๊ธฐ, ์ค„ ๊ฐ„๊ฒฉ์€ rem ์‚ฌ์šฉ rem

๋ ˆ์ด์•„์›ƒ

์—ฌ๋ฐฑ, ์ปจํ…Œ์ด๋„ˆ๋Š” rem ๊ถŒ์žฅ rem

๋””ํ…Œ์ผ

ํ…Œ๋‘๋ฆฌ, ๊ทธ๋ฆผ์ž๋Š” px ์‚ฌ์šฉ px

๐Ÿ“ฑ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ํŒ

๋ชจ๋ฐ”์ผ ์šฐ์„  ์ ‘๊ทผ

๊ธฐ๋ณธ ํฐํŠธ ํฌ๊ธฐ๋ฅผ 16px๋กœ ์„ค์ •ํ•˜๊ณ , rem ๋‹จ์œ„๋กœ ํ™•์žฅ

html { font-size: 16px; }
h1 { font-size: 2rem; /* 32px */ }
๋ฏธ๋””์–ด ์ฟผ๋ฆฌ ํ™œ์šฉ

rem ๊ธฐ๋ฐ˜ ๋ธŒ๋ ˆ์ดํฌํฌ์ธํŠธ๋กœ ์ผ๊ด€์„ฑ ์œ ์ง€

@media (min-width: 48rem) { /* 768px */ }
html { font-size: 18px; }
}

โ™ฟ ์ ‘๊ทผ์„ฑ ๊ณ ๋ ค์‚ฌํ•ญ

โœ… ๊ถŒ์žฅ์‚ฌํ•ญ
  • โ€ข rem ๋‹จ์œ„๋กœ ํฐํŠธ ํฌ๊ธฐ ์„ค์ •
  • โ€ข ์ตœ์†Œ ํฐํŠธ ํฌ๊ธฐ 16px ์œ ์ง€
  • โ€ข ์ถฉ๋ถ„ํ•œ ์ค„ ๊ฐ„๊ฒฉ (1.5 ์ด์ƒ)
  • โ€ข ํ„ฐ์น˜ ํƒ€๊ฒŸ ์ตœ์†Œ 44px
โŒ ํ”ผํ•ด์•ผ ํ•  ๊ฒƒ
  • โ€ข ํฐํŠธ ํฌ๊ธฐ์— px ๊ณ ์ •๊ฐ’ ์‚ฌ์šฉ
  • โ€ข 12px ์ดํ•˜ ์ž‘์€ ํ…์ŠคํŠธ
  • โ€ข ๊ณ ์ •๋œ ์ปจํ…Œ์ด๋„ˆ ๋„ˆ๋น„
  • โ€ข ์ค„ ๊ฐ„๊ฒฉ 1.0 ์ดํ•˜

๐Ÿ”ง ๋ธŒ๋ผ์šฐ์ € ์ง€์› ๋ฐ ํ˜ธํ™˜์„ฑ

px ๋‹จ์œ„

๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ €์—์„œ ์™„๋ฒฝ ์ง€์›. IE6+๋ถ€ํ„ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.

rem ๋‹จ์œ„

IE9+, ๋ชจ๋˜ ๋ธŒ๋ผ์šฐ์ € ์™„๋ฒฝ ์ง€์›. IE8 ์ดํ•˜๋Š” ํด๋ฐฑ ํ•„์š”.

IE8 ์ง€์›์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ: px ๊ฐ’์„ ๋จผ์ € ์„ ์–ธํ•˜๊ณ  rem ๊ฐ’์„ ์ถ”๊ฐ€๋กœ ์„ ์–ธํ•˜์—ฌ ํด๋ฐฑ ์ œ๊ณต

font-size: 18px; /* IE8 fallback */
font-size: 1.125rem; /* Modern browsers */