๋ณธ๋ฌธ์œผ๋กœ ๊ฑด๋„ˆ๋›ฐ๊ธฐ

CSS ๋‹จ์œ„

โ—๏ธ ํ•ด๋‹น ๊ธ€์€ ํŒจ์ŠคํŠธ์บ ํผ์Šค - ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฐ•์˜์—์„œ HTML & CSS, SASS(SCSS) Part์˜ ๋ฐ•์˜์›… ๊ฐ•์‚ฌ๋‹˜์˜ ๊ฐ•์˜์ž๋ฃŒ๋ฅผ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

CSS์˜ font-size ๋‹จ์œ„#

px ๋‹จ์œ„#

๋ชจ๋‹ˆํ„ฐ ์ƒ์˜ ํ™”์†Œ ํ•˜๋‚˜์˜ ํฌ๊ธฐ์— ๋Œ€์‘๋˜๋Š” ๋‹จ์œ„ ๊ณ ์ •๋œ ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ดํ•ดํ•˜๊ธฐ์‰ฝ์ง€๋งŒ, ์‚ฌ์šฉ์ž๊ฐ€ ๊ธ€๊ผด์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊ธ‰์  ์‚ฌ์šฉ์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์ข‹๋‹ค


% ๋‹จ์œ„#

๋ถ€๋ชจ ์š”์†Œ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋‹จ์œ„

์˜ˆ์‹œ

.parent {    font-size: 10px;}.child {    font-size: 50%;}

child์˜ font-size๋Š” ๋ถ€๋ชจ์ธ parent์˜ 50%์ธ 5px์ด ๋œ๋‹ค.


em ๋‹จ์œ„#

์ž๊ธฐ ์ž์‹ ์˜ ํฐํŠธ ์‚ฌ์ด์ฆˆ์— ์˜ํ–ฅ์„ ๋ฐ›์Œ

.container {    width: 60em;    font-size: 10px;}

container์˜ width๋Š” ์ž์‹ ์˜ ํฐํŠธ ์‚ฌ์ด์ฆˆ์ธ 10px์˜ 60๋ฐฐ์ธ 600px์ด ๋œ๋‹ค.

์ฃผ์˜์‚ฌํ•ญ : font-size๋Š” ๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ƒ์†๋œ๋‹ค. ๋”ฐ๋ผ์„œ em ๋‹จ์œ„๋Š” ์กฐ์ƒ ์š”์†Œ์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ด€๊ณ„๋ฅผ ๋ชจ๋‘ ์ดํ•ดํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๋ฆฌํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค.


rem ๋‹จ์œ„#

root + em, root์ธ html ์š”์†Œ์— ์ง€์ •๋œ ํฐํŠธ ์‚ฌ์ด์ฆˆ์˜ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.

html {    font-size: 10px;}.container {    width: 60rem;}

html ์š”์†Œ์˜ ํฐํŠธ ์‚ฌ์ด์ฆˆ๊ฐ€ 10px์ด๊ธฐ ๋•Œ๋ฌธ์— 60rem = 600px์ด ๋œ๋‹ค.

html์— ์ •์˜ํ•œ ํฐํŠธ ์‚ฌ์ด์ฆˆ์™€ ๋‹ค๋ฅธ ๊ธฐ๋ณธ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด body ํƒœ๊ทธ์— ํฐํŠธ์‚ฌ์ด์ฆˆ๋ฅผ ์žฌ์ •์˜ํ•˜๋ฉด ๋œ๋‹ค.

html {    font-size: 10px;}body {    font-size: 16px;}

๋‹จ์œ„์™€ ์›น ์ ‘๊ทผ์„ฑ#

px ๋‹จ์œ„๋กœ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •์˜ํ•˜๋ฉด, ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ํ‚ค์› ์„ ๋•Œ ๊ธ€๊ผด์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค. ์ด๋Š” html ํƒœ๊ทธ์— ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ px ๋‹จ์œ„๋กœ ์ •์˜ํ•œ ์ดํ›„ rem ๋‹จ์œ„๋กœ ํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •์˜ํ•œ ์š”์†Œ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๋”ฐ๋ผ์„œ html ์š”์†Œ์— % ๋‹จ์œ„๋กœํฐํŠธ ์‚ฌ์ด์ฆˆ๋ฅผ ์ •์˜ํ•˜๊ณ  ์ดํ›„์— rem ๋‹จ์œ„๋กœ ์กฐ์ ˆํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €์˜ ๊ธ€๊ผด ํฌ๊ธฐ๋ฅผ ๋ฐ”๊ฟจ์„ ๋•Œ ๊ธ€๊ผด์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํฐํŠธ ํฌ๊ธฐ๋ฅผ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ์ž์˜ ๊ถŒ๋ฆฌ๋ฅผ ์กด์ค‘ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด


CSS์˜ viewport ๋‹จ์œ„#

vw ๋‹จ์œ„#

vw : ๋ทฐํฌํŠธ์˜ ๋„ˆ๋น„(Viewport Width) 100๋ถ„ ๋‹จ์œ„๋กœ์„œ 100vw = 100% ์ด๊ณ , 50vw = 50vw์ด๋‹ค.


vh ๋‹จ์œ„#

vh : ๋ทฐํฌํŠธ์˜ ๋†’์ด(Viewport Height) 100๋ถ„ ๋‹จ์œ„๋กœ์„œ 100vh = 100% ์ด๊ณ , 50vh = 50vw์ด๋‹ค.

๋ทฐํฌํŠธ(viewport) : ๋””์Šคํ”Œ๋ ˆ์ด ์š”์†Œ๊ฐ€ ํ‘œํ˜„๋˜๋Š” ์˜์—ญ, ๋ชจ๋ฐ”์ผ, ํƒœ๋ธ”๋ฆฟ, ๋…ธํŠธ๋ถ์˜๋ธŒ๋ผ์šฐ์ € ๋“ฑ, ๋ทฐํฌํŠธ๋Š” ๊ธฐ๊ธฐ๋งˆ๋‹ค, ๊ธฐ๊ธฐ ์•ˆ์—์„œ๋„ ์กฐ์ž‘์— ๋”ฐ๋ผ ํฌ๊ธฐ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.


vmax ๋‹จ์œ„#

๋ทฐํฌํŠธ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ์ค‘ ๋” ํฐ ๊ฐ’์— ๋Œ€ํ•œ 100๋ถ„ ๋‹จ์œ„.


vmin ๋‹จ์œ„#

๋ทฐํฌํŠธ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ์ค‘ ๋” ๊ฐ’์— ๋Œ€ํ•œ 100๋ถ„ ๋‹จ์œ„.


Reference#

ํŒจ์ŠคํŠธ์บ ํผ์Šค - ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฐ•์˜ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong