็ก์
Box Model์ margins ์์ฑ ๋ณธ๋ฌธ

๐ขโ โmargins
๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ ๊ณต๊ฐ์ผ๋ก, ์์์ ์์ ์ฌ์ด์ ๋ฐ๊นฅ์ชฝ ์ฌ๋ฐฑ(๊ณต๊ฐ)์ ์กฐ์ ํ๋ ์์ฑ.
- ํฌ๋ช ์์ญ: ๋ฐฐ๊ฒฝ์์ด๋ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๊ฐ ์ ์ฉ๋์ง ์๊ณ ํฌ๋ช ํ๋ค.
- ์์ ๊ฐ: ์์(-) ๊ฐ์ ์ฌ์ฉํ ์ ์๋ค. ์์๋ฅผ ์๋ก ๋์ด์ฌ๋ฆฌ๊ฑฐ๋ ๊ฒน์น๊ฒ ๋ง๋ค ์ ์๋ค. (๋จ์ฉ ์ ๋ ์ด์์ ๊นจ์ง)
โผ๏ธ ๊ฐ๋ก ๊ฐ์ด๋ฐ ์ ๋ ฌ
width ์ง์ ํ, ๋ง์ง์ 0(์/์๋) auto(์ข/์ฐ-์๋๊ณ์ฐ)๋ก ์ค์ ํ๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ๋จ๋ ๊ณต๊ฐ์ ์ข์ฐ๋ก ๊ท ๋ฑ ๋ถ๋ฐฐํด์ ์์๋ฅผ ๊ฐ์ด๋ฐ ์ ๋ ฌํ๋ ๋ฐฉ์.
.box { width: 1100px;
margin: 0 auto;
}
- ๋ฌธ๋ฒ: margin: 0 auto;
- block ์์์ฌ์ผ ํ๋ค.
- ์ ์ฉ ๊ฐ๋ฅ: div, section, article.
- ์ ์ฉ ๋ถ๊ฐ๋ฅ: span, a (inline ์ํ)
๐ ๊ฐ๋ณ ์์ฑ
ํน์ ๋ฐฉํฅ์๋ง ์ฌ๋ฐฑ ์กฐ์ ์์ฑ.
.box { margin-top: 10px; }
.box { margin-right: 20px; }
.box { margin-bottom: 30px; }
.box { margin-left: 40px; }
- margin-top: ์์ชฝ ์ฌ๋ฐฑ.
- margin-right: ์ค๋ฅธ์ชฝ ์ฌ๋ฐฑ.
- margin-bottom: ์๋์ชฝ ์ฌ๋ฐฑ.
- margin-left: ์ผ์ชฝ ์ฌ๋ฐฑ.
๐จ ์ถ์ฝํ ์์ฑ (Shorthand)
์ฌ๋ฐฑ์ ํ ์ค๋ก ์ ์ํ๋ ์์ฑ.
.box { margin: 20px; } /* 1๊ฐ: ์ํ์ข์ฐ ๋ชจ๋ 20px */
.box { margin: 10px 20px; } /* 2๊ฐ: ์ํ 10px / ์ข์ฐ 20px */
.box { margin: 10px 20px 30px; } /* 3๊ฐ: ์ 10px / ์ข์ฐ 20px / ํ 30px */
.box { margin: 10px 20px 30px 40px; } /* 4๊ฐ: ์ 10px / ์ฐ 20px / ํ 30px / ์ข 40px (์๊ณ ๋ฐฉํฅ) */
โ ๏ธ โMargin Collapsing (๋ง์ง ์์) โ ๏ธ
์ธ์ ํ ๋ ๋ธ๋ก ์์์ ์ํ(์ธ๋ก) ๋ง์ง์ด ๋ง๋ ๋, ๋ ๋ง์ง์ ํฉ์ด ์๋ ๋ ํฐ ์ชฝ์ ๋ง์ง์ด ์ ์ฉ๋๋ ํ์.
.box1 { margin-bottom: 50px; } /* ํฐ ๊ฐ๋ง ์ ์ฉ */
.box2 { margin-top: 30px; } /* ์์ ๊ฐ์ ์ ์ฉ ์๋จ */
- ๋ถ๋ชจ ์์์ ์ฒซ/๋ง์ง๋ง ์์ ์์ ์ฌ์ด์์ ์ฃผ๋ก ๋ฐ์ํ๋ค.
- ๋ฆฌ์คํธ๋ ๋ฌธ๋จ ์ฌ์ด์ ๊ฐ๊ฒฉ์ด ๋๋ฌด ๋ฒ์ด์ง๋ ๊ฒ์ ๋ง๊ธฐ ์ํ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ณธ ๋์.
- ์ข์ฐ(๊ฐ๋ก) margin์ ์ ๊ฒน์นจ, ๊ฐ๊ฐ ์ ์ฉ๋๋ค.
- inline ์์์๋ ์ ํ ์์. (span ๊ฐ์ ์์๋ ์ข์ฐ margin๋ง ์ ์ ์ ์ฉํ๊ณ ์์๋๋ ๊ฑฐ์ ์ํฅ ์์)
๐โํด๊ฒฐ ๋ฐฉ๋ฒ: ๋ถ๋ชจ์ {padding-top: 1px;} ๋๋ {border-top: 1px solid transparent} ๋๋ float/flex/grid ์ฌ์ฉ.
๐โ POINT ๐โ
โ๏ธ ๋ง์ง์ ์์์ ์์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๋๊ธฐ ์ํด ์ฌ์ฉํ๋ค. โ๏ธ
โ๏ธ ๋ธ๋ก ์์๋ฅผ ๊ฐ๋ก ์ค์์ ๋ฐฐ์นํ๊ณ ์ถ๋ค๋ฉด ๋๋น(width)๋ฅผ ์ง์ ํ๊ณ margin: 0 auto; ๋ฅผ ์ฌ์ฉํ๋ค. โ๏ธ
โ๏ธ ์ํ ๊ฐ๊ฒฉ์ด ์ข๋ค๋ฉด ๋ง์ง ์์๊ฐ ์ผ์ด๋๊ณ ์์ง ์์์ง ํ์ธํ๋ค. โ๏ธ
๐ ๋ง์ง vs ํจ๋ฉ ํต์ฌ ๋น๊ตํ ๐
| ๊ตฌ๋ถ | ๋ง์ง (Margin) | ํจ๋ฉ (Padding) |
| ์์น | ํ ๋๋ฆฌ ๋ฐ๊นฅ์ชฝ | ํ ๋๋ฆฌ ์์ชฝ |
| ์ญํ | ์์ ๊ฐ ๊ฐ๊ฒฉ | ๋ด์ฉ๊ณผ ํ ๋๋ฆฌ ๊ฐ ์ฌ๋ฐฑ |
| ์์ ๊ฐ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
| ์ค์ ์ ๋ ฌ | margin: auto๋ก ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
| ๋ฐฐ๊ฒฝ์ | ๋ถ๊ฐ๋ฅ (ํญ์ ํฌ๋ช ํจ) | ๊ฐ๋ฅ |
โ๏ธ ์คโ์ ์์ ์ฝ๋: ์ค์ ์ ๋ ฌ๊ณผ ๊ฐ๊ฒฉ ์กฐ์ โ๏ธ
<style>
.box {
width: 200px;
height: 100px;
background-color: #e74c3c;
color: white;
/* ์ํ 50px ์ฌ๋ฐฑ, ์ข์ฐ auto๋ก ๊ฐ๋ก ์ค์ ์ ๋ ฌ */
margin: 50px auto;
/* ํ
์คํธ ์ ๋ ฌ์ฉ */
display: flex;
justify-content: center;
align-items: center;
}
.overlap {
background-color: #2ecc71;
/* ์์ ๋ง์ง์ ์ฌ์ฉํด ์์ ๋ฐ์ค์ 20px ๊ฒน์น๊ฒ ํจ */
margin-top: -70px;
margin-left: 50px;
}
</style>
<div class="box">์ค์ ๋ฐ์ค</div>
<div class="box overlap">๊ฒน์น ๋ฐ์ค</div>
'<style>' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| display ์์ฑ (0) | 2026.03.19 |
|---|---|
| Box Model์ padding ์์ฑ (0) | 2026.03.18 |
| Box Model์ border ์์ฑ (0) | 2026.03.18 |
| CSS์ Box Model (0) | 2026.03.18 |
| display: inline-block ์์ฑ (0) | 2026.03.18 |