๐Ÿ“ฆ Box-Sizing

Min-Ho Leeยท2020๋…„ 6์›” 23์ผ
0

Learn CSS

๋ชฉ๋ก ๋ณด๊ธฐ
4/4
post-thumbnail

Thuesday_June_23
.
.
.

์ƒํ™ฉ๊ทน ์‹œ์ž‘ ๐Ÿง

๊ฐ™์€ ํฌ๊ธฐ(๋„“์ด)์˜ ๋ฐ•์Šค 2๊ฐœ๋ฅผ ๋งŒ๋“œ๋ ค๊ณ  ํ•œ๋‹ค.
div ํƒœ๊ทธ๋ฅผ 2๊ฐœ ๋งŒ๋“ค๊ณ , ํ•˜๋‚˜๋Š” a, ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” b๋ผ๊ณ  ํด๋ž˜์Šค๋ฅผ ์ง“๊ณ  CSS๋ฅผ ์ ์šฉํ•ด์ฃผ๊ฒ ๋‹ค.

.a {
  width: 500px;
}

.b {
  width: 500px;
  padding: 50px;
  border: 10px solid black;
}

์•ž์„œ ๋งํ–ˆ๋“ฏ ๊ฐ™์€ ํฌ๊ธฐ๋ฅผ ์ฃผ๊ธฐ ์œ„ํ•ด ๋‘˜ ๋‹ค width๋ฅผ 500์”ฉ ์คฌ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ?!?!?

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค๋ฉด ํฌ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค... Why?ยฟ?ยฟ ๐Ÿคฏ

๋ฐ•์Šค ๋ชจ๋ธ์€ ์•ˆ์ชฝ๋ถ€ํ„ฐ ์ฐจ๋ก€๋Œ€๋กœ
Content > Padding > Border > Margin ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ,
๊ธฐ๋ณธ์ ์œผ๋กœ width(๋„“์ด)๋Š” Content์˜์—ญ์„ ์˜๋ฏธํ•œ๋‹ค.

๊ทธ๋ž˜์„œ ๋‘˜๋‹ค 500์ด๋ผ๋Š” ํฌ๊ธฐ๋ฅผ ์คฌ์ง€๋งŒ, bํด๋ž˜์Šค๋ฅผ ๊ฐ€์ง„ ๋ฐ•์Šค๋Š”
padding์˜ ์–‘ ์˜† 50 + 50 = 100 ๊ณผ border์˜ ์–‘ ์˜† 10 + 10 = 20
์ด 120๋งŒํผ ๋”ํ•ด์ ธ์„œ aํด๋ž˜์Šค์˜ ๋ฐ•์Šค๋ณด๋‹ค ์ปค์ง„ ๊ฒƒ์ด๋‹ค.
.
.
.
์•„๋‹ˆ ๊ทธ๋Ÿผ border์™€ padding์„ ๋‹ค ๊ณ„์‚ฐํ•ด์„œ ๋นผ์ฃผ๋ผ๋Š”๊ฑด๊ฐ€??

ํ•ด์„œ ๋งŒ๋“  ์ƒˆ๋กœ์šด Property!!!

Box-sizing ๐Ÿคฉ

์˜ค๋žœ ์‹œ๊ฐ„์— ๊ฑธ์ณ ์‚ฌ๋žŒ๋“ค์€ ๋„ˆ๋น„๊ฐ’์„ ์กฐ์ ˆํ•˜๋Š” ํ•ด๋ฒ•์ด ๊ทธ๋‹ค์ง€ ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ซ๊ณ  ์š”๋†ˆ์„ ๋งŒ๋“ค์—ˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

.a {
  box-sizing: border-box;
  width: 500px;
}

.b {
  box-sizing: border-box;
  width: 500px;
  padding: 50px;
  border: 10px solid black;
}

์ด๋ ‡๊ฒŒ ํ•ด๋„ ๋˜๊ณ 

* {
  box-sizing: border-box;
}

์ด๋ ‡๊ฒŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ์žก์•„์ค˜๋„ ๋œ๋‹ค.

๊ทธ๋ž˜์„œ ์š”๋†ˆ์ด ํ•˜๋Š” ์ผ์ด ๋ญ๋ƒ!

Box-sizing์ด๋ผ๋Š” ๊ฐ’์„ ์•ˆ์ฃผ๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ content-box๋กœ์จ
๊ธฐ์ค€์ด content์ด๊ณ ,
์šฐ๋ฆฌ๋Š” border๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ด์คฌ์œผ๋‹ˆ border๊นŒ์ง€์˜ ๋„“์ด๊ฐ€ 500์œผ๋กœ ๋˜๋Š”๊ฒƒ์ด๋‹ค.

์•„๊นŒ padding์ด๋ž‘ border์˜ ํ•ฉ์ด 120์ด๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ,
๊ทธ๋Ÿฌ๋ฉด 500 - 120 = 380 ์ด๋ฏ€๋กœ content๋ถ€๋ถ„์ด 380๋งŒํผ์˜ ๊ธธ์ด๋ฅผ ๊ฐ–๋Š”๋‹ค.

profile
๐Ÿ‡ Rabbit can take a rest, but ๐Ÿข turtle can't

0๊ฐœ์˜ ๋Œ“๊ธ€