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์ด ๋๋ค.
์ฐธ๊ณ
codeit
'Style > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CSS : CSS ์ ํ์ (CSS Selector) (2) | 2025.07.29 |
|---|---|
| CSS : display์ float (0) | 2025.07.28 |
| CSS : ํ ์คํธ ์คํ์ผ๋ง ์์ฑ๋ค (3) | 2025.07.28 |
| CSS ๋จ์ ์ด์ ๋ฆฌ : ์์, ํฌ๊ธฐ, ์๊ฐ, ๊ฐ๋ (5) | 2025.07.28 |
| CSS : absolute position (0) | 2025.02.15 |
GitHub