CSS : ๋ฐ•์Šค ๋ชจ๋ธ (Box Model)

2025. 7. 28. 17:13ใ†Style/CSS

๋ฐ˜์‘ํ˜•

๋ชฉ์ฐจ

1. ๋ฐ•์Šค ๋ชจ๋ธ(Box Model)์ด๋ž€?

2. padding, margin

3. border

4. content


1. ๋ฐ•์Šค ๋ชจ๋ธ(Box Model)์ด๋ž€?

๋ฐ•์Šค ๋ชจ๋ธ(Box Model)์€ HTML ์š”์†Œ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์–ด๋–ป๊ฒŒ ๋ ˆ์ด์•„์›ƒ๋˜๊ณ  ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฐœ๋…์ด๋‹ค.

์›น ํŽ˜์ด์ง€์—์„œ ๊ฑฐ์˜ ๋ชจ๋“  ์š”์†Œ๋Š” ์‚ฌ๊ฐํ˜• ๋ฐ•์Šค ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ด ๋ฐ•์Šค๋Š” ๋‹ค์Œ ๋„ค ๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • Margin
    • ๋ฐ•์Šค ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ 
    • ์š”์†Œ ๊ฐ„ ๊ฐ„๊ฒฉ ์กฐ์ •์šฉ์œผ๋กœ, ๋ฐฐ๊ฒฝ์ƒ‰์ด ์ ์šฉ๋˜์ง€ ์•Š์Œ
  • Border
    • ์ปจํ…์ธ ๋ฅผ ๋‘˜๋Ÿฌ์‹ผ  ํ…Œ๋‘๋ฆฌ 
    • border-width, border-style, border-color ๋“ฑ์œผ๋กœ ์„ค์ •
  • Padding
    • ๋‚ด์šฉ๊ณผ ํ…Œ๋‘๋ฆฌ ์‚ฌ์ด์˜  ๋‚ด๋ถ€ ์—ฌ๋ฐฑ 
    • ๋ฐฐ๊ฒฝ์ƒ‰์ด ์ ์šฉ๋จ
  • Content
    • ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€ ๋“ฑ  ์‹ค์ œ ๋‚ด์šฉ ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ณต๊ฐ„
    • width, height๋กœ ํฌ๊ธฐ๋ฅผ ์„ค์ •

 


2. padding, margin

padding๊ณผ margin์€ ๊ฐ๊ฐ ์•ˆ์ชฝ ์—ฌ๋ฐฑ, ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ์„ ๋„ฃ๋Š” ์†์„ฑ์ด๋‹ค.

์—ฌ๋ฐฑ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ์‹์€ ๋‘ ์†์„ฑ์ด ๋™์ผํ•˜๋‹ค.

 

1. ์ƒํ•˜์ขŒ์šฐ ํ•œ ๋ฒˆ์—

padding: 8px;	/* ์ƒํ•˜์ขŒ์šฐ: 8px */
margin: 8px;

 

2. ์ƒํ•˜/์ขŒ์šฐ ๊ฐ๊ฐ

padding: 16px 8px;	/* ์ƒํ•˜:16px ์ขŒ์šฐ:8px */
margin: 16px 8px;

 

3. ์ƒ, ์ขŒ์šฐ, ํ•˜

padding: 16px 8px 24px; /* ์ƒ:16px ์ขŒ์šฐ:8px ํ•˜:24px */
margin: 16px 8px 24px;

 

4. ์ƒ, ์šฐ, ํ•˜, ์ขŒ

์‹œ๊ณ„๋ฐฉํ–ฅ์œผ๋กœ ์—ฌ๋ฐฑ์„ ์ž…๋ ฅํ•œ๋‹ค.

padding: 16px 8px 24px 10px;	/* ์ƒ:16px ์šฐ:8px ํ•˜:24px ์ขŒ:10px */
margin: 16px 8px 24px 10px;

 

 

 

padding- ์†์„ฑ, margin- ์†์„ฑ

์œ„์—์„œ padding: ~~, margin~~ ์˜ ํ˜•์‹์œผ๋กœ ์—ฌ๋ฐฑ์„ ํ•œ๊บผ๋ฒˆ์— ์ •์˜ํ–ˆ์ง€๋งŒ, 

๊ฐ ์—ฌ๋ฐฑ์„ ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์†์„ฑ์„ ๋”ฐ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

padding-top: 16px;
padding-right: 8px;
padding-bottom: 24px;
padding-left: 10px;

margin-top: 16px;
margin-right: 8px;
margin-bottom: 24px;
margin-left: 10px;

 

 

+ margin์˜ auto ์†์„ฑ๊ฐ’

margin์€ ๋ถ€๋ชจ ์š”์†Œ์˜ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ์—ฌ๋ฐฑ์„ auto๋กœ ์ง€์ •ํ• ์ˆ˜๋„ ์žˆ๋‹ค.

margin: 16px auto;

 

์ฝ”๋“œ๋ฅผ ์œ„์™€๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ์œ„์•„๋ž˜๋กœ๋Š” 16px์˜ ์—ฌ๋ฐฑ์„, ๊ฐ€๋กœ๋กœ๋Š” ๋ถ€๋ชจ์˜ ์ •ํ•ด์ง„ ๋„ˆ๋น„๋ฅผ ๋ชจ๋‘ ์ฑ„์šฐ๋Š” ์—ฌ๋ฐฑ์„ ๊ฐ€์ง„๋‹ค.

 

 


3. border

border ์†์„ฑ

border ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ…Œ๋‘๋ฆฌ๋ฅผ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

border: 2px solid #ededed;

์†์„ฑ๊ฐ’์œผ๋กœ ์„ธ ๊ฐ€์ง€๊ฐ€ ๋“ค์–ด๊ฐ”๋Š”๋ฐ ์ˆœ์„œ๋Œ€๋กœ ์„  ๊ตต๊ธฐ, ํ…Œ๋‘๋ฆฌ ๋ชจ์–‘, ํ…Œ๋‘๋ฆฌ ์ƒ‰์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

border-radius ์†์„ฑ

๋ฐ•์Šค ๋ชจ๋ธ์˜ ๋ชจ์„œ๋ฆฌ๋ฅผ ๋‘ฅ๊ธ€๊ฒŒ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

border-radius: 16px;
border-radius: 50%;

 


4. content

box-sizing ์†์„ฑ

๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์†Œ์— ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉด, ๊ทธ ํฌ๊ธฐ๋Š” content ์˜์—ญ์— ๋Œ€ํ•œ ํฌ๊ธฐ์ด๋‹ค.

๋”ฐ๋ผ์„œ margin, padding๊นŒ์ง€ ์ ์šฉํ•˜๋ฉด ์š”์†Œ์˜ ์‹ค์ œ ํฌ๊ธฐ๋Š” ๋” ์ปค์ง€๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

box-sizing ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋” ์ง๊ด€์ ์œผ๋กœ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

* {
	box-sizing: border-box;
}

#box {
	margin: 20px;
    padding: 30px;
    width: 100px;
}

 

์ด๋Ÿฌ๋ฉด ํ…Œ๋‘๋ฆฌ๊นŒ์ง€ ํ•ฉ์นœ ์˜์—ญ์˜ ํฌ๊ธฐ๊ฐ€ 100px์ด ๋œ๋‹ค.

 

 

overflow ์†์„ฑ

๋ฐ•์Šค์˜ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜๋ฉด content์˜ ๋‚ด์šฉ์ด ๋งŽ์„ ๋•Œ ๋ฐ•์Šค ๋ฐ–์œผ๋กœ ํŠ€์–ด๋‚˜์˜ฌ ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

์ด๋Ÿฐ overflow์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ํ•  ๊ฑด์ง€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • overflow: hidden;
    → ๋„˜์น˜๋Š” ๋‚ด์šฉ์€ ๊ฐ์ถ˜๋‹ค.
  • overflow: auto;
    → ๋„˜์น˜๋Š” ๋‚ด์šฉ์„ ์Šคํฌ๋กค๋กœ ํ‘œํ˜„ํ•œ๋‹ค.
  • overflow: scroll;
    → ํ•ญ์ƒ ์Šคํฌ๋กคํ•˜๋„๋ก ํ•œ๋‹ค.

 

๋งˆ์ง„ ์ƒ์‡„ (Margin Collapsing)

์ด์›ƒํ•œ ํƒœ๊ทธ๋“ค, ๋ถ€๋ชจ ์ž์‹ ํƒœ๊ทธ๋“ค์ด ๋ชจ๋‘ ๋งˆ์ง„์„ ๊ฐ€์งˆ ๊ฒฝ์šฐ, ์„ธ๋กœ ๋งˆ์ง„์€ ๊ฒน์ณ์„œ ์ƒ์‡„๊ฐ€ ๋œ๋‹ค.

 

์ด์›ƒ ํƒœ๊ทธ์˜ ๋งˆ์ง„ ์ƒ์‡„

<div id="a"> a </div>
<div id="b"> b </div>
#a { margin: 30px; }
#b { margin: 20px; }

์ด ๋‘˜์˜ ๋งˆ์ง„์ด ๊ฒน์ณ์ ธ, a์™€ b ์‚ฌ์ด์˜ ๋งˆ์ง„์€ 30px์ด ๋œ๋‹ค.

 

 

๋ถ€๋ชจ์ž์‹ ํƒœ๊ทธ ๋งˆ์ง„ ์ƒ์‡„

<div id="a"> a </div>
<div id="b">
  <div id="c">
    c
  </div>
  b
</div>
#a { margin: 30px; }

#b { margin: 20px; }

#c { margin: 40px; }

b์™€ c ์‚ฌ์ด์— ๊ฒฝ๊ณ„๊ฐ€ ์—†์œผ๋ฏ€๋กœ, ๋งˆ์ง„์ด ๊ฒน์ณ์„œ ๋งˆ์ง„์€ 40px์ด ๋œ๋‹ค.

์ด ๋งˆ์ง„๊ฐ’์ด a์™€ ๊ฒน์ณ, a์™€ b ์‚ฌ์ด์˜ ๋งˆ์ง„์€ 40px์ด ๋œ๋‹ค.

 

 

 

 

์ฐธ๊ณ 

๋ฐ˜์‘ํ˜•