width
width ์์ฑ์ ์์์ ๊ฐ๋ก ํฌ๊ธฐ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ๋ ์์ฑ์ด๊ณ , ์ ํํ๋ content ์์ญ์ ๋๋น๋ฅผ ์ง์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ค๋ ๊ฒ์ ๊ฐ์ง๋ง, ์์์ ์ข ๋ฅ๋ ํน์ง์ ๋ฐ๋ผ์ ๋ค๋ฅด๊ฒ ๋์ํ๊ธฐ๋ ํ๋ค.
์์์ ๊ฐ๋ก ํฌ๊ธฐ๋ฅผ ์ง์ ํ๋ width ์์ฑ์ ์ธ๋ผ์ธ ๋ ๋ฒจ ์์๋ฅผ ์ ์ธํ ๋ชจ๋ ์์์ ์ ์ฉ๋ฉ๋๋ค.
๋ธ๋ก&์ธ๋ผ์ธ ๊ฐ์์์ ๋ค๋ฃฌ ๋ธ๋ก ๋ ๋ฒจ ์์์ ์ธ๋ผ์ธ ๋ ๋ฒจ ์์์ ํน์ง์ ๋์ง์ด๋ณด์๊ธฐ ๋ฐ๋๋๋ค.
width ์์ฑ
๊ธฐ๋ณธ ๊ฐ : 0
< ์์ฑ ๊ฐ >
auto | ๋ธ๋ผ์ฐ์ ์ ์ํด ์๋์ผ๋ก ๊ณ์ฐํ์ฌ ์ ์ฉํฉ๋๋ค. * ์์์ ๋ ๋ฒจ ๊ธฐ๋ณธ ํน์ฑ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๋์ํฉ๋๋ค. |
length | ๊ณ ์ ๊ฐ์ผ๋ก ์ง์ ํฉ๋๋ค. (ex. px, em ....) |
percent | ๋ถ๋ชจ ์์์ width์ ์๋์ ์ธ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. |
width๋ content ์์ญ์ ๋๋น๋ฅผ ์ ์ดํ ๋ ์ฌ์ฉํ๋๋ฐ ์ด๋ auto๊ฐ ์๋ ํน์ ํ ๊ฐ์ ์ง์ ํ์ฌ ์ฌ์ฉํ๋ฉด,
๊ทธ ํฌ๊ธฐ๋ box model ์์ญ์์ margin ์์ญ์ ์ ์ธํ ๋ชจ๋ ์์ญ์ ๋ํด ์ํฅ์ ๋ฐ์ต๋๋ค. (content, padding, border)
์๋ฅผ ๋ค์ด,
<div class="box"> box </div>
.box {
width: 100px;
padding: 20px;
border: 10px solid black;
}
์์ ๊ฐ์ด ์ ์ธ๋์ด์๋ค๋ฉด ์์์ ์ด ๊ฐ๋ก ํฌ๊ธฐ๋ 160px๊ฐ ๋ฉ๋๋ค.
๋ถ๋ช width: 100px๋ฅผ ์ ์ฉํ๋๋ฐ ์ด๋ป๊ฒ 160px๊ฐ ๋ ๊ฑธ๊น์?
์์ ์ค๋ช ์์ ์ธ๊ธํ ๋ฐ์ ๊ฐ์ด width๋ padding, border ์์ญ์ ๋ํด์ ์ํฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
์์ผ๋ก ๋ํ๋ด๋ฉด,
100px content + ( 20px * 2) padding + ( 10px * 2 ) border = 160px ๊ฐ ๋ ๊ฒ์ ๋๋ค.
๋ํ, width๋ %๋ฅผ ์ด์ฉํด์๋ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
<div class="parent">
<div class="child">
child
</div>
</div>
.parent {
width: 300px;
border: 20px solid red;
}
.child {
width: 50%;
padding: 20px;
border: 10px solid black;
}
์ ๋ต์ 210px ์ ๋๋ค.
์ฐ์ , padding (20px * 2) + border (10px * 2) = 60px ์ ๋๋ค.
210px - 60px = 150px ์ด๋ฉฐ, 150px์ ๋ถ๋ชจ์ width๊ฐ 300px์ด๋ฏ๋ก 300px์ 50%์ธ 150px์ด width๊ฐ์ผ๋ก ๊ฒฐ์ ๋ ๊ฒ์ ๋๋ค.
๊ฒฐ๊ตญ %๊ฐ์ผ ๋์๋ ๋ถ๋ชจ์ width๊ฐ์ ๋ํด์ ๊ณ์ฐ๋์ด์ง๋๋ฐ, ์ด๋ ๋ถ๋ชจ์ width๋ content ์์ญ์ ํฌ๊ธฐ๋ฅผ ์๋ฏธํฉ๋๋ค.
๋ถ๋ชจ์ padding๊ณผ border๊น์ง ๋ํด์ง ์์์ ์ ์ฒด ํฌ๊ธฐ๊ฐ ์๋, content ์์ญ์ ํฌ๊ธฐ๊ฐ ๊ธฐ์ค์ด๋ผ๋ ๊ฒ์ ๊ธฐ์ต!
๋ถ๋ชจ๊ฐ ์ธ๋ผ์ธ ๋ ๋ฒจ ์์์ผ ๋, ์์(๋ธ๋ก ์์)์ด width ๊ฐ์ %๋ฅผ ๊ฐ์ง๋ฉด, ๊ฐ์ฅ ๊ฐ๊น์ด ๋ธ๋ก ๋ ๋ฒจ์ธ ์กฐ์์ width๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. ๋ง์ผ ์ต์๋จ๊น์ง ๋ธ๋ก ๋ ๋ฒจ ์์๊ฐ ์์ผ๋ฉด body๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ์ฐ๋๋ค.
See the Pen Untitled by sunah (@sunah) on CodePen.
height
height๋ ์์์ ์ธ๋ก ํฌ๊ธฐ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉํ๋ ์์ฑ์ด๋ค. width์ ๋ง์ฐฌ๊ฐ์ง๋ก ์ ํํ๋ content ์์ญ์ ๋์ด๋ฅผ ์ง์ ํ๋ ๊ฒ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก๋ width์ ๋์ ๋ฐฉ์๊ณผ ๊ฐ๊ฒ ๋์ํ์ง๋ง, % ๊ฐ์ ๊ฐ์ก์ ๋์ ๋์ ๋ฐฉ์์ด ์กฐ๊ธ ๋ค๋ฅด๋ค.
height ์์ฑ
๊ธฐ๋ณธ ๊ฐ : 0
< ์์ฑ ๊ฐ >
auto | ๋ธ๋ผ์ฐ์ ์๋์ผ๋ก ๊ณ์ฐํ์ฌ ์ ์ฉํฉ๋๋ค. * ๊ธฐ๋ณธ์ ์ผ๋ก ์ปจํ ์ธ ์์ญ์ ๋ด์ฉ๋งํผ ๋์ด๋ฅผ ๊ฐ์ง๋๋ค. |
length | ๊ณ ์ ๊ฐ์ผ๋ก ์ง์ ํฉ๋๋ค. (ex. px, em ....) |
percent | ๋ถ๋ชจ ์์์ height์ ์๋์ ์ธ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. * ๋จ, ๋ถ๋ชจ ์์๊ฐ ๋ช ์์ ์ผ๋ก height ๊ฐ์ด ์์ด์ผ ํฉ๋๋ค. |
height๋ content ์์ญ์ ๋์ด๋ฅผ ์ ์ดํ ๋ ์ฌ์ฉํ๋๋ฐ ์ด๋ auto๊ฐ ์๋ ํน์ ํ ๊ฐ์ ์ง์ ํ์ฌ ์ฌ์ฉํ๋ฉด,
width ์์ฑ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก box model ์์ญ์์ margin ์์ญ์ ์ ์ธํ ๋ชจ๋ ์์ญ์ ๋ํด ์ํฅ์ ๋ฐ์ต๋๋ค.
%๋ฅผ ์ด์ฉํด์๋ ํฌ๊ธฐ๋ฅผ ์ง์ ํด๋ณด๊ธฐ
<div class="parent">
<div class="child">
child
</div>
</div>
.parent {
width: 200px;
border: 10px solid black;
}
.child {
height: 50%;
background: red;
}
์ค์ ๋ก ํ์ธํด๋ณด๋ฉด, height: auto์ผ ๋์ height: 50%์ผ ๋ ์ฐจ์ด๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ ๋ ๊ฐ์ ์ฐจ์ด๊ฐ ์๋ ๊ฑธ๊น์?
MDN์์ height ์์ฑ์ percent value์ ๋ํ ์ค๋ช ์ ๋ณด๋ฉด
"Containing Block์ ๋์ด์ ๋ํ ๋ฐฑ๋ถ์จ๋ก ๋์ด๋ฅผ ์ ์ํฉ๋๋ค."๊ณ ๋์ ์์ต๋๋ค.
์ฌ๊ธฐ์ ๋งํ๋ Containing Block์ ๋ถ๋ชจ๋ฅผ ์๋ฏธํ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
์ฆ, ํ์ฌ ์์ ์ฝ๋์์๋ ๋ถ๋ชจ๊ฐ ๋ช ์์ ์ธ ๋์ด ๊ฐ์ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ ๋๋ฌธ์
์์์ ๋์ด๋ฅผ %๊ฐ์ผ๋ก ์ง์ ํด์ค๋ ์ ์ฉ๋์ง ์์๋ ๊ฒ์ ๋๋ค.
'๐Language > HTML & CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
display ์์ฑ (0) | 2022.04.19 |
---|---|
css font๋ฅผ ์์๋ณด์ (0) | 2022.04.19 |
css boxmodel, Border์์ญ, Padding ์์ญ, Margin ์์ญ (0) | 2022.04.19 |
css ์์ฑ ๋ฐฐ๊ฒฝ, background (0) | 2022.04.19 |
css ๋จ์, px, pt, em, % / Color ์์ฑ, ํฌ๋ช ๋ ์ค์ (0) | 2022.04.19 |