๐คBOX๋ ๋ฌด์์ธ๊ฐ?
Box๋ Box Model๋ง์ ์ดํดํ๋ค๊ณ ํด์ ๋ฐ๋ก ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฒ์ด ์๋๋ค.
๋ด๊ฐ ์ด๋ ํ BOX Type์ ์ฐ๋๋์ ๋ฐ๋ผ Box Model์ ๋ฌ๋ผ์ง๋ค.
์ฐ๋ฆฌ์๊ฒ ์ค์ํ Box type์ 4๊ฐ์ง๊ฐ ์๋ค.
Block / Inline / Iline Block / Flex
๐ขBoxModel
Box Model๋ 4๊ฐ์ง ์์ญ์ผ๋ก ๋๋๋ค.
1. Content
content๋ content๊ฐ ๋ค์ด๊ฐ์๋ ์์๋ก ๊ฐ๋ก๋ width, ์ธ๋ก๋ height๋ก ํํํ๋ค.
2. Padding
์์ชฝ ์ฌ๋ฐฑ, ์ฆ content์ border ์ฌ์ด์ ๊ณต๊ฐ์ ๋ํ๋ด๋ ๊ฒ์ padding์ด๋ผ ํ๋ค.
3. Border
ํ ๋๋ฆฌ๋ฅผ ๋ํ๋ด๋ border, ์ฌ์ฉ๋ฒ์ด ๋ค๋ฅธ BOX๋ค๊ณผ ๋ค๋ฅด๋ค.
/*border: ๊ตต๊ธฐ ์คํ์ผ ์์*/
์๋จ์ ์ฝ๋์ ๊ฐ์ด ์ฌ์ฉ์ดํ๋ค.
4. Margin
๋ฐ๊นฅ ์ฌ๋ฐฑ. ์ฆ ์์์ ์์ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ๋ํ๋ผ๋ ์ฌ์ฉํ๋ค.
์๊ธฐํ ํํ๋ฒ
.box{
/*padding: top right bottom left*/
padding: 20px 10px 20px 10px
/*margin: top right bottom left*/
margin: 20px 10px 20px 10px
/*์๊ณ๋ฐฉํฅ์ผ๋ก ์์๊ฐ ๋์๊ฐ๋ค๊ณ ์๊ฐํ๋ฉด ์ธ์ฐ๊ธฐ ์ฝ๋ค!*/
}
๐ขBox sizing
๐ขBox Type
โ block
๐งKeywords: ๊ธธ๋ง
block์ (์ง๋๊ฐ์ง ๋ชปํ๊ฒ) ๋ง๋ค ์ฐจ๋จํ๋ค๋ผ๋ ๋ป์ ๊ฐ์ง๊ณ ์๋ค.
๊ทธ๋์ ๋ค๋ฅธ tag๊ฐ ์จ๋ค๋ฉด ์ง๋๊ฐ์ง ๋ชปํ๊ฒ ๊ธธ์ ๋ง๋ ์ฑ์ง์ ์ง๋๋ค.
โblock์ ํน์ง
โซ width
์๋ ํ๊ทธ์ ๋ฐ๋ก width๋ฅผ ์ ์ธํ์ง ์์ ๊ฒฝ์ฐ, width = ๋ถ๋ชจ์ content-box์ 100%๋ก ๋์ด๋๋ค.
ํ์ง๋ง ์๋ ํ๊ทธ์ ๋ฐ๋ก width๋ฅผ ์ ์ธํ ๊ฒฝ์ฐ, ๋จ์ ๊ณต๊ฐ์ margin์ผ๋ก ์๋์ ์ผ๋ก ์ฑ์์ง๋ค.
โซ height
๋ถ๋ชจ ํ๊ทธ์ height๋ฅผ ์ ์ธํ์ง ์์ ๊ฒฝ์ฐ, ์์์์์ height์ ํฉ = ๋ถ๋ชจ์ height์ด๋ค.
ex) ์์ ํ๊ทธ 2๊ฐ์ height๊ฐ ๊ฐ 140px์ผ ๋, ๋ถ๋ชจ ํ๊ทธ๋ 280px์ ๊ฐ์ง๊ฒ๋๋ค.
โ Inline
๐งKeywords: ํ๋ฆ
in + line: ์ฆ, line ์์ ์ํด ์๋๋ค.
๊ทธ๋์ in line์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ผ๋ก ๋์ด์ ํ๋ฅด๋ ์ฑ์ง์ ์ง๋๋ค.
โinline์ ํน์ง
๋ถ๋ชจ ํ๊ทธ์ width๋ฒ์๊ฐ ๋์ด๊ฐ๋ ์๋ ํ๊ทธ๊ฐ ์๋ค๋ฉด ์๋ ํ๊ทธ๋ ์ค๋ฐ๊ฟ์ ํ๋ค.
๊ธ์ ์์ฑํ ๋ ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฉด ๋ค์ ์ค๋ก ์ค๋ฐ๊ฟ๋๋ ๊ฒ๊ณผ ๊ฐ์ ์๋ฆฌ์ด๋ค.
Inline์ ๊ฒฝ์ฐ Box model์ property์ค
width, height, padding-(top,bottom),border-(top,bottom),margin-(top,bottom)์ ์ฌ์ฉ ํ ์ ์๋ค.
๊ทธ ์ด์ ๋ inline ์ค๊ฐ๊ฒฉ์ ๋ง์ถฐ ํ๋ฅด๋ ค๋ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋๋ฐ, ์๋จ์ ์ฝ๋๋ ๊ทธ ํ๋ฆ์ ๋ฐ์ด๋ธ๋ค.
<span> tag์ ์๋จ์ ์ฝ๋๋ฅผ ์ง์ด ๋ฃ์ผ๋ฉด ๋ํ์ฅ ํํฐ๊ฐ ์ด๋ฆฌ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
(span์ display๊ฐ inline์ด๋ฉฐ, background ์์ ์ง์ด ๋ฃ๊ณ ๋น๊ตํด๋ด๋ผ)
Block๊ณผ Inline์ ์ฐจ์ด์ ๋น๊ต
Block | Inline |
๋ฉด(์์ญ) | ์ (ํ๋ฆ) |
โ Inline block
/*์ ์ธ*/
.box{
display:inline-block;
}
Block์ ์ข์์ ๊ณผ Inline์ ์ข์์ ์ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋๊ฒ Inline block์ด๋ค.
block์ ๊ฒฝ์ฐ ์์ญ ์ก๊ธฐ์ ์ข์ง๋ง ๊ธธ๋งํ๋ ์ฑํฅ๋๋ฌธ์ ๊ฐ๋ก ๋ฐฐ์น์ ์ด๋ ค์์ด ์๋ค.
ํ์ง๋ง, inline block๊ฐ์ ๊ฒฝ์ฐ์ inline ์ฑ์ง์ block์ ์ถ๊ฐํ ๊ฒ์ผ๋ก
๊ธฐ๋ณธ์ ์ผ๋ก inline๊ณผ ๊ฐ์ด block์ด๊ฐ๋ก๋ก ํ๋ฅด๋ฉฐ ๋์์ ์์ญ๋ ์ก์ ์ ์๋ค.
โญFlex
Flex๋ ๋ค๋ฅธ ๊ฒ์๋ฌผ๋ก ์์ธํ ๋ค๋ค๋๋กํ๊ฒ ์ต๋๋ค
'Front-end > CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CSS3]Media Query(๋ฐ์ํ ์น) (0) | 2022.03.27 |
---|---|
[CSS3]Flexbox (0) | 2022.03.26 |
[CSS3]Position (0) | 2022.03.20 |
[CSS3]Float๋? / Layout ์ค๋ฅ ์ ํด๊ฒฐ ๋ฐฉ๋ฒ (0) | 2022.03.14 |
[CSS3] CSS๋? (0) | 2021.11.04 |