[CSS] CSS ๋‹จ์œ„ ์ •๋ฆฌ

2025. 8. 5. 17:52ยท๐Ÿ“š ํ”„๋ก ํŠธ์—”๋“œ/HTML+CSS

ํ—ท๊ฐˆ๋ ธ๋˜ CSS ๋‹จ์œ„ ๊ฐœ๋…์„ ์ด๋ฒˆ ๊ธ€์—์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

๐Ÿ“ CSS ์ฃผ์š” ๋‹จ์œ„ ์ •๋ฆฌ

1. px - ํ”ฝ์…€

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

 

2. em - ๋ถ€๋ชจ์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ์ƒ๋Œ€ ๋‹จ์œ„

  • ๋ถ€๋ชจ ์š”์†Œ์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํฌ๊ธฐ ๋น„์œจ์ด ์ •ํ•ด์ง„๋‹ค.
  • ํ•œ ๊ฐ€์ง€ ์œ ์˜ํ•  ์‚ฌํ•ญ์€ ๋ถ€๋ชจ>์ž์‹>ํ›„์† ์š”์†Œ๊ฐ€ ์ค‘์ฒฉ๋ ์ˆ˜๋ก ๊ณ„์‚ฐ์ด ๋ˆ„์ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.
/* ๋ถ€๋ชจ ์š”์†Œ */
body {
  font-size: 16px;
}

/* ์ž์‹ ์š”์†Œ */
h1 {
  font-size: 2em; /* 32px */
}

/* ํ›„์† ์š”์†Œ */
span {
  font-size: 2em; /* 64px: 2em x 32px */
}

 

3. rem - ๋ฃจํŠธ ์š”์†Œ(html)์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ์ƒ๋Œ€ ๋‹จ์œ„

  • html ํƒœ๊ทธ์˜ ํฐํŠธ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด์„œ em๋ณด๋‹ค ์˜ˆ์ธก์ด ์‰ฝ๋‹ค.
/* ๋ถ€๋ชจ ์š”์†Œ */
body {
  font-size: 16px;
}

/* ์ž์‹ ์š”์†Œ */
h1 {
  font-size: 2em; /* 32px */
}

/* ํ›„์† ์š”์†Œ */
span {
  font-size: 2em; /* 32px */
}

 

4. % - ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•˜๋Š” ๋ฐฑ๋ถ„์œจ

  • ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ์œ ๋™์ ์œผ๋กœ ํฌ๊ธฐ๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค.
  • ๋„ˆ๋น„, ๋†’์ด, ํฐํŠธ ๋“ฑ ๋‹ค์–‘ํ•œ ์†์„ฑ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
.container {
  width: 1000px;
}

.child {
  width: 50%; /* 500px */
}

 

5. vw, vh - viewport๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ๋‹จ์œ„

  • 1vw = ๋ทฐํฌํŠธ ๋„ˆ๋น„์˜ 1%
  • 1vh = ๋ทฐํฌํŠธ ๋†’์ด์˜ 1%

๋ชจ๋ฐ”์ผ ์›น์„ ๊ตฌํ˜„ํ• ๋•Œ 100vh๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

๋ชจ๋ฐ”์ผ ๋ธŒ๋ผ์šฐ์ €์˜ ์ฃผ์†Œ์ฐฝ์ด๋‚˜ ํ•˜๋‹จ UI๋กœ ์ธํ•ด ๊ฐ€๋ ค์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค.

์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์€ ๋‹จ์œ„๊ฐ€ ๋ฐ”๋กœ lvh, svh, dvh์ด๋‹ค.

๋‹จ์œ„ ์˜๋ฏธ
lvh ์ฃผ์†Œ ์ฐฝ์ด ์‚ฌ๋ผ์กŒ์„ ๋•Œ ๋†’์ด๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฐ’ → ์‚ฌ์šฉ์ž ํ™”๋ฉด์˜ ์ตœ๋Œ€ ํฌ๊ธฐ
svh ์ฃผ์†Œ์ฐฝ์ด ๋ณด์ด๊ณ  ์žˆ์„ ๋•Œ์˜ ๋†’์ด๋ฅผ ๊ณ„์‚ฐํ•œ ๊ฐ’ → ์‚ฌ์šฉ์ž ํ™”๋ฉด์˜ ์ตœ์†Œ ํฌ๊ธฐ
dvh ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ๋ทฐํฌํŠธ ๋†’์ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ณ„์‚ฐํ•œ ๊ฐ’ → ์›ํ•˜๋Š” ํ™”๋ฉด์„ ๊ตฌํ˜„ํ•˜๊ธฐ์— ๊ฐ€์žฅ ์ด์ƒ์ ์ž„

 

6. vmin, vmax - viewport์˜ ์งง์€ ์ชฝ / ๊ธด ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ๋‹จ์œ„

  • 1vmin = ๋ทฐํฌํŠธ ๋„ˆ๋น„/๋†’์ด ์ค‘ ์ž‘์€ ์ชฝ์˜ 1%
  • 1vmax = ๋ทฐํฌํŠธ ๋„ˆ๋น„/๋†’์ด ์ค‘ ํฐ ์ชฝ์˜ 1%

vmin, vmax๋Š” ์ •๋ฆฌํ•˜๋ฉด์„œ๋„ ์ด๊ฑธ ์–ธ์ œ ์‚ฌ์šฉํ•˜๋Š” ๊ฑธ๊นŒ ๊ถ๊ธˆํ–ˆ๋Š”๋ฐ,

์ฐพ์•„๋ณด๋‹ˆ ๊ฐ€๋กœ/์„ธ๋กœ ํšŒ์ „์ด ์ผ์–ด๋‚˜๋Š” ํ™”๋ฉด ๋น„์œจ์ด ์ž์ฃผ ๋ฐ”๋€Œ๋Š” ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.

 

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ

https://developer.mozilla.org/en-US/docs/Learn_web_development/Core/Styling_basics/Values_and_units

https://web.dev/blog/viewport-units?hl=ko

 

728x90
'๐Ÿ“š ํ”„๋ก ํŠธ์—”๋“œ/HTML+CSS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [CSS] CSS ๋ณ€์ˆ˜ ๋“ฑ๋กํ•˜๊ธฐ
  • [CSS] Cascading์ด๋ž€?
  • [HTML] ์‹œ๋งจํ‹ฑํƒœ๊ทธ (Semantic tag)
  • [HTML] aํƒœ๊ทธ target ์†์„ฑ
_์ด์•Ž
_์ด์•Ž
๊ณต๋ถ€ ๊ธฐ๋ก ๋ธ”๋กœ๊ทธ
  • _์ด์•Ž
    ๊ณต๋ถ€
    _์ด์•Ž
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • โœ๏ธ ๋ชจ๋“  ๊ธ€ (79)
      • ๐Ÿ“š ํ”„๋ก ํŠธ์—”๋“œ (48)
        • Web (6)
        • React (11)
        • Next.js (2)
        • JavaScript (13)
        • TypeScript (2)
        • Dev Setup (1)
        • git+github (4)
        • HTML+CSS (9)
      • ๐Ÿ‘€ ํ”„๋กœ์ ํŠธ ๋ฐ ํ™œ๋™ (24)
        • ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ 19๊ธฐ (19)
        • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ (2)
        • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… + ๋ฆฌํŒฉํ† ๋ง (3)
      • ๐Ÿ“ ์ž๋ฃŒ ์ •๋ฆฌ (3)
        • React ๊ณต์‹๋ฌธ์„œ (3)
      • โš™๏ธ etc. (4)
  • ๋งํฌ

    • ๐Ÿ‘‹ GitHub
    • ๐Ÿ“ GitHub/Study
    • ๐Ÿง ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ธฐ๋ก
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.4
_์ด์•Ž
[CSS] CSS ๋‹จ์œ„ ์ •๋ฆฌ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”