๐Ÿ“ฆ 01. ๋ฐ•์Šค ๋ชจ๋ธ๊ณผ ๋ Œ๋”๋ง ์›๋ฆฌ: '์™œ ๋‚ด ๋ฐ•์Šค๊ฐ€ ์ž๊พธ ์‚์ ธ๋‚˜๊ฐˆ๊นŒ?'

2026๋…„ 3์›” 5์ผ ์ˆ˜์ •๋จ

๐Ÿ“‹ ๊ฐœ์š”

CSS์˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด์ž ํ•ต์‹ฌ์ธ ๋ฐ•์Šค ๋ชจ๋ธ์˜ ๊ตฌ์„ฑ ์š”์†Œ์™€ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ •์„ ์˜์ฒ ์ด์™€ ํ•จ๊ป˜ ํŒŒํ—ค์ณ ๋ด…๋‹ˆ๋‹ค.

๐Ÿ“Œ ์ด ๋ฌธ์„œ๋ฅผ ์ฝ๊ธฐ ์ „์—

โฑ๏ธ ์˜ˆ์ƒ ์ฝ๊ธฐ ์‹œ๊ฐ„: 8๋ถ„(์ „์ฒด) / ํ•ต์‹ฌ ํŒŒํŠธ๋งŒ: 4๋ถ„

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ํ๋ฆ„
[๋ฐ•์Šค์˜ ๊ตฌ์„ฑ ์š”์†Œ] โ†’ [box-sizing์˜ ํ˜๋ช…] โ†’ [๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ]

๐ŸŽฏ ์ด ๋ฌธ์„œ๋ฅผ ๋‹ค ์ฝ์œผ๋ฉด ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ

  • CSS ๋ฐ•์Šค ๋ชจ๋ธ์˜ 4๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • content-box์™€ border-box์˜ ์ฐจ์ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์‹ค๋ฌด์—์„œ ์‹ค์ˆ˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • CSS ์†์„ฑ ํ•˜๋‚˜๊ฐ€ ๋ธŒ๋ผ์šฐ์ € ์„ฑ๋Šฅ(Reflow/Repaint)์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ธ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ—บ๏ธ ์ด ๋ฌธ์„œ์˜ ๋ฐฐ๊ฒฝ ์„ธ๊ณ„๊ด€: '์˜์ˆ˜๋„ค ์ปค๋ฎค๋‹ˆํ‹ฐ'

  • ๐Ÿฃ ์˜์ฒ  ( ์‹ ์ž… ): "์˜ํ˜ธ ๋‹˜! ๋ถ„๋ช…ํžˆ ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ 100px๋กœ ์คฌ๋Š”๋ฐ, ํŒจ๋”ฉ์ด๋ž‘ ํ…Œ๋”๋ฅผ ๋„ฃ์œผ๋‹ˆ๊นŒ ๋ฐ•์Šค๊ฐ€ 120px์ด ๋์–ด์š”! ๋ ˆ์ด์•„์›ƒ์ด ๋‹ค ๊นจ์ ธ์„œ ์˜์ˆ˜ ๋‹˜์ด ํ˜ธํ†ต์น˜์‹œ๊ธฐ ์ผ๋ณด์ง์ „์ด์—์š”... ๐Ÿ˜ญ"
  • ๐Ÿฆ ์˜ํ˜ธ ( ๋ฆฌ๋“œ ): "์˜์ฒ  ๋‹˜, CSS๋Š” ๋‹จ์ˆœํžˆ ์ƒ‰์น ํ•˜๋Š” ๋„๊ตฌ๊ฐ€ ์•„๋‹ˆ์—์š”. ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณต๊ฐ„์„ ๊ณ„์‚ฐํ•˜๋Š” 'Box Model'์˜ ์ฒ ํ•™์„ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ‰์ƒ 1px๊ณผ ์‹ธ์›Œ์•ผ ํ•  ๊ฒ๋‹ˆ๋‹ค. ์ž, ๋ฐ•์Šค ์•ˆ์ชฝ๋ถ€ํ„ฐ ๋‹ค์‹œ ๋“ค์—ฌ๋‹ค๋ณด์ฃ ."

๐Ÿค” ์™œ ์•Œ์•„์•ผ ํ•˜๋Š”๊ฐ€

ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ CSS๋Š” '๊ณต๊ฐ„์„ ๋‹ค๋ฃจ๋Š” ์˜ˆ์ˆ ' ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์˜ˆ์ˆ ์˜ ๊ธฐ์ดˆ๋Š” ์•„์ฃผ ์ฐจ๊ฐ€์šด ์ˆ˜ํ•™์  ๊ณ„์‚ฐ ์œ„์— ์„ธ์›Œ์ ธ ์žˆ์ฃ .

์˜์ฒ ์ด๊ฐ€ ๊ฒช์€ ๋ฌธ์ œ๋Š” ๋‹จ์ˆœํ•œ ์‹ค์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ, CSS์˜ ๊ธฐ๋ณธ๊ฐ’์ธ content-box์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๋ชฐ๋ž๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ํ•„์—ฐ์ ์ธ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ด ์›๋ฆฌ๋ฅผ ๋ชจ๋ฅด๋ฉด ํ™”๋ฉด์ด ์กฐ๊ธˆ๋งŒ ๋ณต์žกํ•ด์ ธ๋„ ๋ ˆ์ด์•„์›ƒ์ด ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์–ด๊ธ‹๋‚˜๊ณ , ์ด๋Š” ๊ณง ์‚ฌ์šฉ์ž ๊ฒฝํ—˜(UX)์˜ ์ €ํ•˜๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค. ๋‚˜์•„๊ฐ€ ์šฐ๋ฆฌ๊ฐ€ ์“ด CSS ํ•œ ์ค„์ด ๋ธŒ๋ผ์šฐ์ € ๋‚ด๋ถ€์—์„œ ์–ด๋–ป๊ฒŒ ํ”ฝ์…€๋กœ ๋ณ€ํ•˜๋Š”์ง€(Rendering)๋ฅผ ์•Œ์•„์•ผ 5๋…„์ฐจ ์ด์ƒ์˜ ์‹œ๋‹ˆ์–ด๊ฐ€ ๊ฐ–์ถฐ์•ผ ํ•  '์„ฑ๋Šฅ' ์— ๋Œ€ํ•œ ๊ฐ๊ฐ์„ ๊ธฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ—๏ธ 1. CSS ๋ฐ•์Šค์˜ 40์ธต ์„ํƒ‘: ๊ตฌ์„ฑ ์š”์†Œ

๋ธŒ๋ผ์šฐ์ €๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ์‚ฌ๊ฐํ˜• ๋ฐ•์Šค๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ•์Šค๋Š” ์•ˆ์ชฝ์—์„œ๋ถ€ํ„ฐ ๋ฐ”๊นฅ์ชฝ์œผ๋กœ 4๊ฐœ์˜ ์ธต์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

  1. Content (๋‚ด์šฉ): ์‹ค์ œ ํ…์ŠคํŠธ๋‚˜ ์ด๋ฏธ์ง€๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ํ•ต์‹ฌ ์˜์—ญ์ž…๋‹ˆ๋‹ค.
  2. Padding (์•ˆ์ชฝ ์—ฌ๋ฐฑ): ํ…Œ๋‘๋ฆฌ์™€ ๋‚ด์šฉ ์‚ฌ์ด์˜ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ๋ฐฐ๊ฒฝ์ƒ‰์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  3. Border (ํ…Œ๋‘๋ฆฌ): ํŒจ๋”ฉ๊ณผ ๋งˆ์ง„ ์‚ฌ์ด์˜ ๊ฒฝ๊ณ„์„ ์ž…๋‹ˆ๋‹ค.
  4. Margin (๋ฐ”๊นฅ ์—ฌ๋ฐฑ): ๋ฐ•์Šค์™€ ๋‹ค๋ฅธ ๋ฐ•์Šค ์‚ฌ์ด์˜ ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค. ์ธ์ ‘ํ•œ ์š”์†Œ๋“ค๊ณผ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.
.box {
  width: 100px;
  padding: 10px;
  border: 5px solid black;
  margin: 15px;
}

๐Ÿฆ ์˜ํ˜ธ์˜ ํŒ:
"์˜์ฒ  ๋‹˜, ์—ฌ๊ธฐ์„œ width: 100px์€ ์–ด๋””๋ฅผ ์˜๋ฏธํ• ๊นŒ์š”? ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” Content ๋งŒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์‹ค์ œ ๋ฐ•์Šค๊ฐ€ ์ฐจ์ง€ํ•˜๋Š” ์ „์ฒด ๊ฐ€๋กœํญ์€ 100 + 10*2(ํŒจ๋”ฉ) + 5*2(ํ…Œ๋‘๋ฆฌ) = 130px์ด ๋˜๋Š” ๊ฑฐ์ฃ . ๋งˆ์ง„์€ ๋ฐ•์Šค ๋ฐ”๊นฅ์˜ ๊ณต๊ฐ„์ด๋‹ˆ ์ด 160px์˜ ์ž๋ฆฌ๊ฐ€ ํ•„์š”ํ•ด์ง‘๋‹ˆ๋‹ค."


๐Ÿ“ 2. box-sizing: ๊ฐ€๋กœํญ์˜ ํ‰ํ™”๋ฅผ ์œ„ํ•˜์—ฌ

์˜์ฒ ์ด์ฒ˜๋Ÿผ ์ˆ˜ํ•™ ๊ณ„์‚ฐ์— ์ง€์นœ ๊ฐœ๋ฐœ์ž๋“ค์„ ์œ„ํ•ด CSS๋Š” ๊ตฌ์›ํˆฌ์ˆ˜๋ฅผ ๋“ฑํŒ์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ box-sizing ์†์„ฑ์ž…๋‹ˆ๋‹ค.

  • content-box (๊ธฐ๋ณธ๊ฐ’): width๊ฐ€ ์˜ค์ง ๋‚ด์šฉ๋ฌผ(Content)๋งŒ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ํŒจ๋”ฉ์„ ๋„ฃ์œผ๋ฉด ๋ฐ•์Šค๊ฐ€ ์ปค์ง‘๋‹ˆ๋‹ค.
  • border-box (์‹ค๋ฌด ํ‘œ์ค€): width๊ฐ€ ํ…Œ๋‘๋ฆฌ(Border)๊นŒ์ง€ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํŒจ๋”ฉ์ด๋‚˜ ํ…Œ๋‘๋ฆฌ๋ฅผ ์•„๋ฌด๋ฆฌ ๋„ฃ์–ด๋„ ์ „์ฒด ๋ฐ•์Šค ํฌ๊ธฐ๋Š” ๋ณ€ํ•˜์ง€ ์•Š๊ณ  ๋‚ด์šฉ๋ฌผ ์˜์—ญ์ด ์•Œ์•„์„œ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.
/* ๐Ÿฆ ์˜ํ˜ธ: ์‹ค๋ฌด์—์„œ๋Š” ๋ฌด์กฐ๊ฑด ์ด๊ฑธ ์ตœ์ƒ๋‹จ์— ๊น”๊ณ  ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. */
* {
  box-sizing: border-box;
}

๐Ÿฃ ์˜์ฒ : "์™€! ๊ทธ๋Ÿผ ์ด์ œ ์ผ์ผ์ด ๊ณ„์‚ฐ ์•ˆ ํ•ด๋„ ๋‚ด๊ฐ€ ์ง€์ •ํ•œ width ์•ˆ์—์„œ ๋‹ค ํ•ด๊ฒฐ๋˜๋Š” ๊ฑฐ๋„ค์š”? ์ง„์งœ ํŽธํ•˜๋‹ค!"


๐ŸŽจ 3. ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ (The Way to Pixel)

์šฐ๋ฆฌ๊ฐ€ ์“ด CSS๊ฐ€ ํ™”๋ฉด์— ๊ทธ๋ ค์ง€๊ธฐ๊นŒ์ง€ ๋ธŒ๋ผ์šฐ์ €๋Š” ํ—˜๋‚œํ•œ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

  1. DOM + CSSOM = Render Tree: HTML ๊ตฌ์กฐ์™€ CSS ์Šคํƒ€์ผ์„ ํ•ฉ์ณ์„œ '๋ณด์—ฌ์ค„ ๊ฒƒ'๋“ค์˜ ์ง€๋„๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. Layout (Reflow): ๋ˆ„๊ฐ€ ์–ด๋””์— ์œ„์น˜ํ• ์ง€, ํฌ๊ธฐ๋Š” ์–ผ๋งˆ์ผ์ง€ ๊ณต๊ฐ„์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค. (๋ฐ•์Šค ๋ชจ๋ธ์ด ์—ฌ๊ธฐ์„œ ์“ฐ์ž…๋‹ˆ๋‹ค!)
  3. Paint (Repaint): ๊ณ„์‚ฐ๋œ ์œ„์น˜์— ์ƒ‰์„ ์น ํ•˜๊ณ  ์ด๋ฏธ์ง€๋ฅผ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.
  4. Composite: ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธต(Layer)์„ ํ•ฉ์ณ ์ตœ์ข… ํ™”๋ฉด์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

โš ๏ธ ์ฃผ์˜! ์„ฑ๋Šฅ ๊ฒฝ๋ณด:
width, height, margin ๋“ฑ์„ ๋ฐ”๊พธ๋ฉด Layout ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(Reflow). ๋ฐ˜๋ฉด color, background-color๋งŒ ๋ฐ”๊พธ๋ฉด ๊ณ„์‚ฐ์€ ๊ฑด๋„ˆ๋›ฐ๊ณ  Paint ๋งŒ ๋‹ค์‹œ ํ•˜๋ฉด ๋˜์ฃ (Repaint). 5๋…„์ฐจ ๊ฐœ๋ฐœ์ž๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“ค ๋•Œ Reflow๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์†์„ฑ ๋Œ€์‹  ๋ถ€ํ•˜๊ฐ€ ์ ์€ transform์ด๋‚˜ opacity๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.


๐Ÿ“ ๋งˆ๋ฌด๋ฆฌ ํ€ด์ฆˆ

Q1. box-sizing: border-box ์„ค์ •์ด ๋˜์–ด ์žˆ์„ ๋•Œ, width: 200px, padding: 20px, border: 1px์ธ ์š”์†Œ์˜ ์‹ค์ œ Content ์˜์—ญ ๊ฐ€๋กœ ๊ธธ์ด๋Š” ์–ผ๋งˆ์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: 158px

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: border-box์—์„œ๋Š” width๊ฐ€ Content + Padding + Border๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Content = 200 - (20ร—2) - (1ร—2) = 158px์ž…๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, content-box(๊ธฐ๋ณธ๊ฐ’)์˜€๋‹ค๋ฉด Content๊ฐ€ 200px ๊ทธ๋Œ€๋กœ์ง€๋งŒ, border-box๋Š” ์ดํ•ฉ์ด 200px์ด๋‹ˆ๊นŒ ์•ˆ์ชฝ์œผ๋กœ ์ค„์–ด๋“œ๋Š” ๊ฑฐ์˜ˆ์š”!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "border-box = ํ…Œ๋‘๋ฆฌ๊นŒ์ง€ ํฌํ•จํ•˜๋Š” ์ด๋Ÿ‰ ์ œํ•œ. ์•ˆ์—์„œ ์•Œ์•„์„œ ๋‚˜๋ˆ  ๊ฐ€์ ธ๋ผ!"

Q2. ๋‹ค์Œ ์ค‘ ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ •์—์„œ ๊ฐ€์žฅ ๋งŽ์€ ์—ฐ์‚ฐ ๋น„์šฉ์ด ๋ฐœ์ƒํ•˜๋Š”(Reflow๋ฅผ ์œ ๋ฐœํ•˜๋Š”) ์†์„ฑ์€ ๋ฌด์—‡์ผ๊นŒ์š”?

  1. opacity
  2. background-color
  3. margin-top
  4. visibility

โœ… ์ •๋‹ต: 3. margin-top

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: margin-top์€ ์š”์†Œ์˜ ๊ธฐํ•˜ํ•™์  ์œ„์น˜๋ฅผ ๋ฐ”๊พธ๋ฏ€๋กœ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ ˆ์ด์•„์›ƒ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ๊ณ„์‚ฐ(Reflow)ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด opacity, background-color, visibility๋Š” ๋ ˆ์ด์•„์›ƒ ๋ณ€๊ฒฝ ์—†์ด ์ƒ‰์ƒ/ํˆฌ๋ช…๋„๋งŒ ๋ฐ”๊พธ๋ฏ€๋กœ Repaint๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, ์œ„์น˜๋‚˜ ํฌ๊ธฐ๋ฅผ ๋ฐ”๊พธ๋Š” ์†์„ฑ(margin, width, padding ๋“ฑ)์€ Reflow์˜ ์ฃผ๋ฒ”์ด์—์š”. ์• ๋‹ˆ๋ฉ”์ด์…˜์—๋Š” transform๊ณผ opacity๋งŒ ์“ฐ๋Š” ๊ฒŒ ์„ฑ๋Šฅ์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค!"
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "์œ„์น˜ยทํฌ๊ธฐ = Reflow(๋น„์Œˆ), ์ƒ‰๊น”ยทํˆฌ๋ช…๋„ = Repaint(์ €๋ ด)"

Q3. [์˜์ฒ ์ด์˜ ํ…Œ์ŠคํŠธ ํƒ€์ž„: ์‹ค๋ฌด ๋”œ๋ ˆ๋งˆ]
์˜์ฒ ์ด๊ฐ€ ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ ํ•ญ๋ชฉ์— ํ•˜๋‹จ ํ…Œ๋‘๋ฆฌ๋ฅผ ๋„ฃ์—ˆ๋”๋‹ˆ ๊ฐ‘์ž๊ธฐ ๋ฆฌ์ŠคํŠธ ์ „์ฒด ๋†’์ด๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด์„œ ์Šคํฌ๋กค๋ฐ”๊ฐ€ ์ƒ๊ฒจ๋ฒ„๋ ธ์Šต๋‹ˆ๋‹ค. ์˜์ˆ™ ๋””์ž์ด๋„ˆ ๋‹˜์ด "์Šคํฌ๋กค ์ƒ๊ธฐ๋ฉด UX ๋ง๊ฐ€์ ธ์š”!"๋ผ๊ณ  ์™ธ์น˜๊ณ  ๊ณ„์‹œ๋„ค์š”. ์˜์ฒ ์ด๊ฐ€ ๋ฐ•์Šค ๋ชจ๋ธ์˜ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•ด ์ด ์ƒํ™ฉ์„ ๊ฐ€์žฅ ์šฐ์•„ํ•˜๊ฒŒ ํ•ด๊ฒฐํ•  ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ์š”?

โœ… ์ •๋‹ต: ํ•ด๋‹น ์š”์†Œ์— box-sizing: border-box๋ฅผ ์ ์šฉํ•˜๊ฑฐ๋‚˜, ๋Š˜์–ด๋‚œ ํ…Œ๋‘๋ฆฌ ๋‘๊ป˜๋งŒํผ height๋ฅผ ์ค„์ด๊ธฐ

๐Ÿ’ก ์ƒ์„ธ ํ•ด์„ค:

  • ์›๋ฆฌ ์„ค๋ช…: ํ…Œ๋‘๋ฆฌ(Border)๋Š” ๋ฐ•์Šค ๋ชจ๋ธ์—์„œ ๋ฐ•์Šค์˜ ํฌ๊ธฐ๋ฅผ ํ‚ค์šฐ๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค. ๊ณ ์ •๋œ ๋†’์ด๋ฅผ ๊ฐ€์ง„ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์ž์‹ ์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ๊ฐ€ ์ถ”๊ฐ€๋˜๋ฉด ๋‚ด๋ถ€ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์ ธ ์Šคํฌ๋กค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์˜ค๋‹ต ํ”ผ๋“œ๋ฐฑ: "์˜์ฒ  ๋‹˜, overflow: hidden์œผ๋กœ ์Šคํฌ๋กค๋งŒ ๊ฐ€๋ฆฌ๋Š” ๊ฑด ์ž„์‹œ๋ฐฉํŽธ์ผ ๋ฟ์ด์—์š”. ๊ทผ๋ณธ์ ์œผ๋กœ ๋ฐ•์Šค๊ฐ€ ์™œ ์ปค์กŒ๋Š”์ง€๋ฅผ ์ดํ•ดํ•˜๊ณ  border-box๋ฅผ ์“ฐ๋ฉด ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค."
  • ๐Ÿ“Œ ํ•ต์‹ฌ ๊ธฐ์–ต๋ฒ•: "๋‚ด ๊ฐ€๋กœ์„ธ๋กœ๋ฅผ ๋๊นŒ์ง€ ์ฑ…์ž„์ง€๊ณ  ์‹ถ๋‹ค๋ฉด? border-box!"

๐Ÿฃ ์˜์ฒ ์ด์˜ ํ‡ด๊ทผ ์ผ๊ธฐ

์˜ค๋Š˜์€ ์ •๋ง 1px์˜ ์†Œ์ค‘ํ•จ์„ ๊นจ๋‹ฌ์€ ํ•˜๋ฃจ์˜€๋‹ค.
์˜์ˆ˜ ๋‹˜์ด "๋ ˆ์ด์•„์›ƒ์ด ์™œ ์ด๋ ‡๊ฒŒ ๋œ์ปน๊ฑฐ๋ ค?"๋ผ๊ณ  ํ•˜์‹ค ๋•Œ ์‹์€๋•€์ด ๋‚ฌ๋Š”๋ฐ, ์˜ํ˜ธ ๋‹˜์ด ๋ฐ•์Šค ๋ชจ๋ธ ๊ทธ๋ฆผ ํ•œ ์žฅ์œผ๋กœ ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด ์ฃผ์…จ๋‹ค.
๊ทธ๋™์•ˆ ๋‚˜๋Š” ๊ทธ๋ƒฅ ๋ˆˆ๋Œ€์ค‘์œผ๋กœ ํŒจ๋”ฉ ๋„ฃ๊ณ  ๋งˆ์ง„ ๋„ฃ์œผ๋ฉด์„œ "๋Œ€์ถฉ ๋งž๊ฒ ์ง€" ํ–ˆ๋Š”๋ฐ, ๊ทธ๊ฒŒ ๋‚ด ์ฝ”๋“œ์˜ ํ€„๋ฆฌํ‹ฐ๋ฅผ ๊นŽ์•„๋จน๊ณ  ์žˆ์—ˆ๋‹ค๋Š” ๊ฒŒ ์ข€ ๋ถ€๋„๋Ÿฌ์› ๋‹ค.

๐Ÿ’ก "CSS ๋ฐ•์Šค๋Š” ๋‹จ์ˆœํ•œ ๋„ค๋ชจ๊ฐ€ ์•„๋‹ˆ๋ผ, ์ •๊ตํ•˜๊ฒŒ ์ง์กฐ๋œ 4๊ฐœ์˜ ์ธต์ด๋‹ค. ์ด ์ธต๋“ค์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด ๋ ˆ์ด์•„์›ƒ์˜ ์‹œ์ž‘์ด๋‹ค."

ํ‡ด๊ทผ๊ธธ์— ํŽธ์˜์ ์— ๋“ค๋ €๋Š”๋ฐ ์ง„์—ด๋œ ๋ฐ•์Šค ์ƒํ’ˆ๋“ค์„ ๋ณด๋ฉด์„œ๋„ '์Œ, ์ €๊ฑด ํŒจ๋”ฉ์ด ์ข€ ์ข๋„ค?', '์ € ๋งˆ์ง„์ด๋ฉด ์ธ์ ‘ ์ƒํ’ˆ์ด๋ž‘ ๋„ˆ๋ฌด ๋ถ™์–ด์žˆ๋Š” ๊ฑฐ ์•„๋ƒ?' ๊ฐ™์€ ์ƒ๊ฐ์„ ํ•˜๋Š” ๋‚˜๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ์ด๊ฒŒ ๊ฐœ๋ฐœ์ž ๋ณ‘์ธ๊ฐ€?
์ง‘์— ๊ฐ€์„œ ์น˜ํ‚จ ์‹œ์ผœ ๋จน์œผ๋ฉด์„œ ์˜ค๋Š˜์€ ๋„ทํ”Œ๋ฆญ์Šค ๋Œ€์‹  ๋ธŒ๋ผ์šฐ์ € ๋ Œ๋”๋ง ๊ณผ์ •์„ ํ•œ ๋ฒˆ ๋” ๋ณต์Šตํ•˜๊ณ  ์ž์•ผ๊ฒ ๋‹ค. ๋‚ด์ผ์€ ์˜ํ˜ธ ๋‹˜ํ•œํ…Œ ์นญ์ฐฌ๋ฐ›์•„์•ผ์ง€!


๐Ÿ”— ๋” ์•Œ์•„๋ณด๊ธฐ