CSS px โ rem ๋ณํ๊ธฐ
CSS ๋จ์์ธ px์ rem์ ์ํธ ๋ณํํฉ๋๋ค.
px (ํฝ์ )
์ ๋ ๋จ์๋ก, ํ๋ฉด์ ํฝ์ ํ๋๋ฅผ ์๋ฏธํฉ๋๋ค. ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋ฉฐ ๋ฐ์ํ ๋์์ธ์๋ ์ ํ์ ์ ๋๋ค.
rem (Root EM)
์๋ ๋จ์๋ก, ๋ฃจํธ ์์(html)์ ํฐํธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. ์ ๊ทผ์ฑ๊ณผ ๋ฐ์ํ ๋์์ธ์ ์ ๋ฆฌํฉ๋๋ค.
๋ณํ ๊ณต์
์ฌ์ฉ ๊ถ์ฅ์ฌํญ
- โข ํฐํธ ํฌ๊ธฐ: rem ์ฌ์ฉ ๊ถ์ฅ
- โข ์ฌ๋ฐฑ(margin, padding): rem ๊ถ์ฅ
- โข ํ ๋๋ฆฌ: px ์ฌ์ฉ ๊ฐ๋ฅ
- โข ๋ฏธ๋์ด ์ฟผ๋ฆฌ: rem ๊ถ์ฅ
CSS ๋จ์ ์๋ฒฝ ๊ฐ์ด๋
์น ๊ฐ๋ฐ์์ ์ฌ๋ฐ๋ฅธ CSS ๋จ์ ์ ํ์ ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ์ ๊ทผ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. px์ rem์ ์ฐจ์ด์ ์ ์ดํดํ๊ณ ์ ์ ํ ์ํฉ์์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
๐ ํน์ง
- โข ์ ๋ ๋จ์๋ก ํ๋ฉด ํฝ์ ๊ณผ 1:1 ๋์
- โข ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ผ๊ด๋ ํฌ๊ธฐ ๋ณด์ฅ
- โข ์ ๋ฐํ ๋ ์ด์์ ์ ์ด ๊ฐ๋ฅ
- โข ์ฌ์ฉ์ ์ค์ ์ ์ํฅ๋ฐ์ง ์์
โ ์ฌ์ฉ ๊ถ์ฅ ์ํฉ
- โข ํ ๋๋ฆฌ ๋๊ป (1px, 2px)
- โข ๊ทธ๋ฆผ์ ์คํ์
- โข ์์ด์ฝ ํฌ๊ธฐ (16px, 24px)
- โข ๋ฏธ์ธํ ๊ฐ๊ฒฉ ์กฐ์
โ ๏ธ ์ฃผ์์ฌํญ
- โข ์ฌ์ฉ์ ํฐํธ ํฌ๊ธฐ ์ค์ ๋ฌด์
- โข ์ ๊ทผ์ฑ ๋ฌธ์ ๋ฐ์ ๊ฐ๋ฅ
- โข ๋ฐ์ํ ๋์์ธ์ ์ ํ์
๐ ํน์ง
- โข ๋ฃจํธ ์์(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 */