๊ด€๋ฆฌ ๋ฉ”๋‰ด

C-log

๐Ÿ’…โœจDecorate from CSS : box-sizing ๋ณธ๋ฌธ

๐Ÿ’…CSS/โšกver.0

๐Ÿ’…โœจDecorate from CSS : box-sizing

4:Bee 2024. 2. 20. 13:40
728x90

์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” box-sizing์—๋Œ€ํ•œ ํฌ์ŠคํŒ…์„ ํ•  ๊ฒƒ์ด๋‹ค. ์ค‘์ฒฉ๋œ margin์— ๋Œ€ํ•œ ํฌ์ŠคํŒ…์€ ์ด๋ฒˆ ๋‹ค์Œ ์‹œ๊ฐ„์— ์ž‘์„ฑํ•  ์˜ˆ์ •์ด๋‹ค. ์šฐ์„  ์ฝ”๋“œ์™€ ๊ฒฐ๊ณผ๋ฌผ์„ ์‚ดํŽด๋ณด์ž.

<!DOCTYPE html>
<html lang="en">

<head>
  <link rel="stylesheet" href="./style.css">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div id="small">Hello</div>
  <div id="large">Hello</div>
</body>

</html>
div {
  margin: 10px;
  width: 150px;
}

#small {
  border: 10px solid black;
}

#large {
  border: 30px solid black;
}

์ด ๋‘ ๋ฐ•์Šค ์ค‘ ์–ด๋–ค ๋ฐ•์Šค๊ฐ€ ์ปค๋ณด์ด๋Š”๊ฐ€? ๋‹น์—ฐํžˆ ์•„๋ž˜์— ์žˆ๋Š” ๋ฐ•์Šค๊ฐ€ ํ›จ์”ฌ ๋” ์ปค๋ณด์ผ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ํ˜„์žฌ padding์˜ ์˜ํ–ฅ์œผ๋กœ ๋‘ ๋ฒˆ์งธ ๋ฐ•์Šค๊ฐ€ ๋” ์ปค๋ณด์ผ ๋ฟ์ด์ง€ ์‚ฌ์‹ค์ƒ ํ•ด๋‹น element๋Š” ๋™์ผ ํ•œ ํฌ๊ธฐ์˜ ์‚ฌ์ด์ฆˆ ์ธ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒƒ์€ ์–ธ์ œ๋‚˜ css๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณด์•˜์„ ๋•Œ ์ด๋‹ค. ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ์˜ ํ•ด๋‹น ๋ฐ•์Šค๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๋งž์ถœ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ box-sizing์ด๋‹ค. box-sizing์—๋Š” ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๊ธฐ์ค€๋“ค์ด ์žˆ๋Š”๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•  ๊ธฐ์ค€์€ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์ž.

div {
  margin: 10px;
  width: 150px;
  box-sizing: border-box;
}

#small {
  border: 10px solid black;
}

#large {
  border: 30px solid black;
}

border-box๋ฅผ ๊ธฐ์ค€์œผ๋กœ box์˜ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

์ด์ œ ์šฐ๋ฆฌ ์œก์•ˆ์„ ๋ณด๊ธฐ์— ๋‘˜์€ ๊ฐ™์€ ํฌ๊ธฐ์˜ ์š”์†Œ๋“ค๋กœ ๋ณด์ธ๋‹ค. ๋‹ค๋งŒ ํ•ด๋‹น ์š”์†Œ์˜ ํฌ๊ธฐ๋Š” ์ค„์–ด ๋“ค์—ˆ๋‹ค. ์ด์œ ๋Š” box-sizing์„ ํ†ตํ•ด์„œ border์˜ ๋‘๊ป˜ ๋งŒํผ์„ ๊ฐ์•ˆํ•˜๊ณ  ์š”์†Œ๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๋™์ผํ•˜๊ฒŒ ๋งž์ท„๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. box-sizing์€ ํ•ด๋‹น ํŽ˜์ด์ง€์˜ ๊ฐ€์žฅ ํฐ ๊ธฐ์ค€์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ•ด๋‹น ๊ธฐ์ค€์„ ๋ชจ๋“  ์š”์†Œ์— ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด ๋ณ€๊ฒฝํ•˜๋ฉด ๋œ๋‹ค.

* {
  box-sizing: border-box;
}

div {
  margin: 10px;
  width: 150px;
}

#small {
  border: 10px solid black;
}

#large {
  border: 30px solid black;
}

์ด๋ ‡๊ฒŒ ์ž‘์„ฑ์„ ํ•˜๋ฉด ๋ชจ๋“  ์›น ํŽ˜์ด์ง€์— ์ ์šฉ์ด ๋  ๊ฒƒ์ด๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” margin ๊ฒน์นจ/์ค‘์ฒฉ ํ˜„์ƒ์— ๊ด€ํ•ด์„œ ํฌ์ŠคํŒ…์„ ํ•  ๊ฒƒ์ด๋‹ค.

728x90
Comments