๐ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
๐ ๋ฐ์ค ๋ชจ๋ธ์ด๋
- content: ์ฝํ
์ธ ๊ฐ ํ์๋๋ ์์ญ
- padding: ์ฝํ
์ธ ์ ํ
๋๋ฆฌ(border) ์ฌ์ด์ ์ฌ๋ฐฑ
- border: padding๊ณผ margin ์ฌ์ด์ ํ
๋๋ฆฌ
- margin: ๊ฐ์ฅ ๋ฐ๊นฅ์ชฝ ๋ ์ด์ด๋ก ์ฝํ
์ธ ์ ํจ๋ฉ, ํ
๋๋ฆฌ๋ฅผ ๋๋ฌ์ธ๋ฉด์ ํด๋น ๋ฐ์ค์ ๋ค๋ฅธ ์์ ์ฌ์ด์ ๊ณต๋ฐฑ์ ์ฃผ๋ ์ญํ
๐ ํฌ๊ธฐ
width, height
- width, height ์์ฑ์ ์์ ์์์๊ฒ ์์๋์ง ์๋๋ค.
- auto ๊ฐ์ 100% ๊ฐ๊ณผ ๋์ผํ๋ค.
- ๋ธ๋ก ์์๋ width, height ์์ฑ์ ์ง์ ํ ์ ์์ง๋ง, ์ธ๋ผ์ธ ์์๋ ์ง์ ํ ์ ์๋ค.
max-width, min-width, max-height, min-height
#parent {
width: 300px;
height: 300px;
}
#child {
width: 50%;
min-width: 100px;
height: 100px;
}
- ํน์ ํฌ๊ธฐ๋ถํฐ ๋ถ๋ชจ ์์์ ํฌ๊ธฐ์ ์ํด ์์ ์์์ ํฌ๊ธฐ๊ฐ ๋์ด์ ๋ณ๊ฒฝ๋์ง ์๋๋ก ํ ๋ ์ฌ์ฉํ๋ค.
- IE ํธํ์ฑ ์ฌ๋ถ ๋๋ฌธ์ min(), max() ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ณด๋ค max-width, min-width, max-height, min-height ์์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
- ๋ฐ์ํ ์น์ฌ์ดํธ๋ฅผ ๋ง๋ค ๋ ์ ์ฉํ๋ค.
๐ margin
- margin ์์ฑ์ ์์ ์์์๊ฒ ์์๋์ง ์๋๋ค.
- ๋ ๊ฐ์ ๊ฐ์ ์ง์ ํ๋ฉด ์ฒซ ๋ฒ์งธ๋ ์์ ์๋, ๋ ๋ฒ์งธ๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ ์ฌ๋ฐฑ์ ์ค์ ํ๋ค.
- ์ธ ๊ฐ์ ๊ฐ์ ์ง์ ํ๋ฉด ์, ๋ ๋ฒ์งธ๋ ์ผ์ชฝ๊ณผ ์ค๋ฅธ์ชฝ, ์ธ ๋ฒ์งธ๋ ์๋ ์ฌ๋ฐฑ์ ์ค์ ํ๋ค.
- ๋ค ๊ฐ์ ๊ฐ์ ์ง์ ํ๋ฉด ๊ฐ๊ฐ ์, ์ฐ, ํ ,์ข ์์๋ก ์ฌ๋ฐฑ์ ์ง์ ํ๋ค.
- percentage๋ ๋ถ๋ชจ์ width ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐํ๋ค.
๐ margin collapsing
- ๋ง์ง ์์, ๋ง์ง ๊ฒน์นจ, ๋ง์ง ์ค๋ณต ๋ฑ์ผ๋ก ๋ถ๋ฆฐ๋ค.
- ๋ธ๋ก ์์๋ค์ margin-top๊ณผ margin-bottom์ด ๊ฒน์ณค์ ๋ ๊ฐ์ฅ ํฐ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง margin์ผ๋ก ํฉ์ณ์ง๋ ํ์์ด๋ค.
- ๋ฒ๊ทธ๋ผ๊ณ ์๊ฐํ ์๋ ์์ง๋ง, CSS ๋ช
์ธ์ ์ ํ์๋ ์ ์์ ์ธ ๋์์ด๋ค.
์ธ์ ํ์ ์์
index.html
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
main.css
.box {
width: 50px;
height: 50px;
background-color: tomato;
margin-top: 20px;
margin-bottom: 20px;
}
- ๋ ํ์ ์์์ ์์ ์๋ ์ฌ๋ฐฑ์ด ๋ง๋ ์์๋๋ค.
๋ถ๋ชจ ์์ ์์
index.html
<div id="parent">
<div id="child"></div>
</div>
main.css
#parent {
width: 100px;
height: 100px;
margin-top: 30px;
background-color: blue;
}
#child {
width: 30px;
height: 30px;
margin-top: 40px;
background-color: red;
}
- ๋ถ๋ชจ ์์์ border, padding์ด ์์ผ๋ฉด ๋ถ๋ชจ ์์์ ์์ ์์์ margin-top ํน์ margin-bottom์ด ๋ง๋ ์์๋๋ค.
๋น ๋ธ๋ก
- border, padding, content๊ฐ ์๊ฑฐ๋ height ๊ฐ์ด ์กด์ฌํ์ง ์์ผ๋ฉด, ํด๋น ๋ธ๋ก์ margin-top๊ณผ margin-bottom์ด ์์๋๋ค.
- ๋ด์ฉ์ด ์๋ div์์ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ฌธ ๊ฒฝ์ฐ๋ค.
๐ padding
- margin์ ์์ ๊ฐ์ ์ฌ์ฉํ ์ ์์ง๋ง, padding์ ์ฌ์ฉํ ์ ์๋ค.
- percentage๋ ๋ถ๋ชจ ์์์ width ๊ฐ์ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐํ๋ค.
๐ ํ
๋๋ฆฌ
border-style, border-width, border-color
- ํ
๋๋ฆฌ ๊ตต๊ธฐ ํค์๋๋ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ค๋ฅด๊ฒ ๋ํ๋๊ธฐ ๋๋ฌธ์ ํ
๋๋ฆฌ ๋๋น๋ฅผ ์ค์ ํ ๋๋ ํค์๋ ๋ณด๋ค <length>๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
border-style: none
์ผ ๊ฒฝ์ฐ border-width, border-color ์์ฑ ๊ฐ์ด ์ง์ ๋์ด ์์ด๋ ๊ฐ์ด 0์ด ๋๊ณ , ๋ณด์ด์ง ์๊ฒ ๋๋ค.
border
- ํ
๋๋ฆฌ๋ฅผ ์ค์ ํ ๋๋ ๋ณดํต border ๋จ์ถ ์์ฑ์ ์ฌ์ฉํ๋ค.
- border๋ ๋ฐ์ค ๋ชจ๋ธ์ ์ํด ์์ง๋ง, outline์ ๋ฐ์ค ๋ชจ๋ธ์ ์ํด ์์ง ์๋ค.
- border-style์ ์์ฑํ์ง ์์ผ๋ฉด
border-style: none
์ผ๋ก ๋์ํ๊ธฐ ๋๋ฌธ์ ํ
๋๋ฆฌ๋ฅผ ์ค์ ํ๋ ค๋ฉด ๊ผญ ์์ฑํด์ผ ํ๋ค.
border-radius
- percentage๋ ์์์ ๊ฐ๋ก ๋๋น์ ์ธ๋ก ๋๋น๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์ ํ์ํ์ผ๋ก ๋ง๋ค ์ ์๋ค.
box-sizing
box-sizing: content-box
๋ CSS ํ์ค ์ ์ํ ๊ธฐ๋ณธ๊ฐ์ผ๋ก, width์ height ์์ฑ์ด ์ฝํ
์ธ ์์ญ๋ง ํฌํจํ๋ค.
box-sizing: border-box
๋ width์ hegiht ์์ฑ์ด padding๊ณผ border๋ ํฌํจํ๋ค.
- ๋ณดํต ์ ์ฒด ์ ํ์๋ฅผ ์ฌ์ฉํด CSS ํ์ผ์ ์ต์๋จ์ ์์ฑํ๋ค.
๐ ์๊ฐํ ์๊ฐ & ๋ ์ค๋ฅด๋ ์๊ฐ
- ์ด๋ค ์์์ margin ๊ฐ์ด ์ ์ฉ๋์ง ์์ ๋ ๋ง์ง ์์ ํ์์ ์์ฌํด๋ณด๊ณ ์ ์ฉ๋์ง ์๋ ๋ฌธ์ ๋ฅผ ์ฐพ์๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ํ๋ฉด ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์์ง ์๊ฐํด๋ณด์!
๐ ์ฐธ๊ณ ๋ํผ๋ฐ์ค