css์์ฑ์ ์ข ๋ฅ๊ฐ ๊ต์ฅํ ๋ง๊ณ ๊ณ์ ์ ๋ฐ์ดํธ๋๊ณ ์๋ค
์ค๋ฌด์๋ค์ด ๊ฐ์ฅ ๋ง์ด ์ฐธ๊ณ ํ๋ ์ฌ์ดํธ
w3school
css reference๋ฅผ ํตํด ํ์ธ๊ฐ๋ฅํ ์ฌํญ
w3schools : ์์ฑ์ ๊ฐ๋จํ ์คํ๊ณผ ์์ ๋ฅผ ํ์ธํ ๋ ์ ์ฉ
MDN : ๊ฐ๋ฐ์ ๋ฒ๊ทธ๋ ์ถ๊ฐ์ ์ธ ์คํ์ ๋ํด์ ํ์ธํ ๋ ์ ์ฉ
w3.org : ๊น์ด ์๋ ์๋ฆฌ์ ๋ํด์ ์๊ณ ์ถ์๋
css์์ ๊ธธ์ด๋ฅผ ํํํ๋ ๋จ์๋ ์ฌ๋ฌ๊ฐ์ง ์กด์ฌ
์ค๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ ํ๋ ๋จ์
: ์ ๋๊ธธ์ด px, pt / ์๋๊ธธ์ด %, em
px
pixel. ์น์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๋จ์
1px = ํ๋ฉด์ ํ๊ฐ์ ์
ํฝ์
์ ์ ๋๊ธธ์ด๋ผ๊ณ ํ์ง๋ง ์ปดํจํฐํ๋ฉด ๋ฑ ์ฅ์น์ ํด์๋์ ๋ฐ๋ผ ์๋์ ์ธ ๋จ์.
= ํฝ์
์ ์๋๋จ์์ด์ง๋ง ํ๋ฉด์์ ๊ณ ์ ๋ ํฌ๊ธฐ๊ฐ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ๋๊ธธ์ด
ํฝ์ ์ ์น๊ฐ๋ฐ์ ํ ๋ ์ฌ๋ฌ ํ๊ฒฝ์์๋ ๋์์ธ์ ๋์ผํ๊ฒ ํํํ๊ณ ๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ณด์ฅ์๋ ์ ๋ฆฌํ ์ฅ์ ์ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋์์ธ ์๋๊ฐ ๋ง์ด ๋ฐ์๋ ์น์ฌ์ดํธ์ ๊ฒฝ์ฐ ํฝ์ ๋จ์๋ฅผ ์ฌ์ฉํ๋๊ฒ์ ๊ถ์ฅ
pt
point. ์ปดํจํฐ๊ฐ ์๋ ์์ ๋ถํฐ ์์๋ ๋จ์
์ธ์๋ฌผ์ด๋ ์๋ํ๋ก์ธ์ ํ๋ก๊ทธ๋จ์์ ์ฌ์ฉ๋์ด์จ ๊ฐ์ฅ ์์ ํ์ค ์ธ์๋จ์.
์น ํ๋ฉด์ ์ธ์์ฉ ๋ฌธ์๋ฅผ ์ํ ์คํ์ผ์ ์ ์ํ ๋๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
์ฌ์ฉํ๋ ๊ธฐ๊ธฐ์ ํด์๋์ ๋ฐ๋ผ ์ฐจ์ด ์กด์ฌ
window ) 9pt=12px
mac) 9pt=9px
w3c์์๋ ์น ๊ฐ๋ฐ์ ๊ถ์ฅํ๋ ๋จ์๊ฐ ์๋
ํ์ง๋ง ์ค๋ฌดํ๋ค๋ณด๋ฉด ๋์์ด๋๊ฐ pt๋ก ๊ฐ์ด๋๋ฅผ ์ ๋ฌํ๋ ๊ฒฝ์ฐ ์กด์ฌ,
๊ทธ๋ด๋๋ ํธ์์ ๊ฐ์ ๊ฐ์ ํฝ์
๋ก ๊ฐ๋ฐ์ ํ๋ค.
%
ํผ์ผํธ. ๊ธฐ๋ณธ ๊ธ๊ผด ํฌ๊ธฐ์ ๋ํด์ ์๋์ ์ธ ๊ฐ์ ๊ฐ์ง๋ค.
์์ ์์์ ์ ์๋ ํฝ์
์ ํผ์ผํธ๋ก ๋๋ฆฌ๊ณ ์ค์ด๊ณ ํ ์ ์๋ค.
ex) ํฐํธ์ฌ์ด์ฆ๊ฐ 100%์ด๊ณ ์์์์๊ฐ 16px์ผ๋ ํฐํธํฌ๊ธฐ๋ 16px.
๊ธฐ์ค์ด ๋ถ๋ชจ์ ํฝ์
๊ฐ
em
์ ์ธํ ํด๋น ํฐํธ์ ๋๋ฌธ์ M์ ๋๋น๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ์๋์ ์ธ ๋จ์
1em = ํ์ฌ ์ง์ ๋ ํฐํธ ํฌ๊ธฐ
2em = ํ์ฌ ํฐํธ ํฌ๊ธฐ์ ๋๋ฐฐ, ์ฆ 200%
1em = 16px
em์ ์์์ 3์๋ฆฌ๊น์ง ์ ์ธ๊ฐ๋ฅ
์ด์ธ์๋ rem, vw๋จ์๋ค๋ ์ํฉ์ ๋ฐ๋ผ์ ์ฌ์ฉ๋๋ค
๋จ์๋ ๋ธ๋ผ์ฐ์ ์ ๋ฐ๋ผ์ ์ง์๋ฒ์๊ฐ ๋ค๋ฅด๋ค.
์์
ํ๋ ํ๋ก์ ํธ์ ๋ธ๋ผ์ฐ์ ์ง์์จ์ด ์ด๋๊น์ง์ธ์ง ํ์ธํ ํ ํด๋นํ๋ ์์ฑ์ ํ์ฉํด์ผํ๋ค.
COLOR
ํฐํธ์ ์์๊ฐ์ ์ ์ฉํ ๋ ์ ์ธ
๋ค์ํ ํํ๋ก ์ปฌ๋ฌ๊ฐ์ ์ ์ฉํ ์ ์๊ณ ๊ฐ์ ๋ฐ๋ผ ์ ์ธํ๋ ๋ฒ๋ ๋ค๋ฆ.
์ค๋ฌด์์ ๋ง์ด์ฌ์ฉํ๋๊ฒ๋ง ์์๋ณด์
์ด ๋ด์ฉ์ COLOR์์ฑ๋ฟ๋ง ์๋๋ผ ์์๊ณผ ๊ด๋ จ๋ ๋ค๋ฅธ ์์ฑ์๋ ๋์ผํ๊ฒ ์ ์ฉ๋๋ค
์ปฌ๋ฌ๋ ์์๋ช ์ผ๋ก ์ ์ธ๊ฐ๋ฅ
body{color:black}
body์ ์ปฌ๋ฌ ๊ฐ์ ์์๋ช
black์ผ๋ก ์ ์ธํ ์ฝ๋
2.
์ปฌ๋ฌ๊ฐ์ 16์ง์๋ก ์ ์ฉ
body{color:#000000}
16์ง์๋ ์ปดํจํฐ ๋์คํ๋ ์ด์ ์์์ ์ง์ ํ๋๋ฐ ๋ง์ด ์ฌ์ฉ๋จ.
์ด 6๊ฐ ์๋ฆฌ, ๊ฐ ์๋ฆฌ๋ง๋ค 0~9, a~f๊น์ง.
0์ ๊ฐ๊น์์ง์๋ก ๊ฒ์ ์, f์ ๊ฐ๊น์์ง์๋ก ํ์์
์์ ์ผ์์ rgb (red, green, blue)
16์ง์์์ ๋์๋ฆฌ์ฉ r,g,b๋ก ๊ตฌ๋ถํจ
#ff0000 ๋นจ๊ฐ์
#00ff00 ์ด๋ก์
#0000ff ํ๋์
(์ปฌ๋ฌ๊ฐ์ ์์ฑ color๋ฟ ์๋๋ผ ๋ค๋ฅธ ์์ฑ์๋ ์ ์ฉ๋๋ค.)
body{color:#000}
16์ง์์์ ๊ฐ์ ์๊ฐ ๋๊ฐ์ฉ์ด๋ฉด ์ถ์ฝํ์ฌ ์ธ์๋ฆฌ๋ก๋ ํํ๊ฐ๋ฅ
body{color:rgb(0,0,0)}
rgb๊ฐ์ผ๋ก ํํํ์๋์ ์ฝ๋
๊ฐ ์๋ฆฌ๋ง๋ค 0~255
0์ ๊ฐ๊น์ธ์๋ก ๊ฒ์์, 255์ ๊ฐ๊น์ธ์๋ก ํ์์
5.
body{color:rgba(0,0,0,1)}
a : alpha ์ํ ๊ฐ. ๊ฐ์ ํฌ๋ช
๋ ์ค์
0์ผ๋๋ ํฌ๋ช
ํ์, 1์ผ๋๋ ์์ ํ ์
0~1๊น์ง ํํ๊ฐ๋ฅ
์์์ ์ ๋ฐํฌ๋ช
rgba๋ก ์ ์ฉํ ๋๋ ์ํ์ ํด๋นํ๋ ๊ฐ์ ๊ผญ ์ ์ธํด์ผํ๋ค.
HSL, HWB์ ๊ฐ์ ๊ฐ๋ค๋ ์ ์ธํ ์ ์๋ค.
์ปฌ๋ฌ๋ฅผ ์ ์ธํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ์ง์์จ๋ ๋ค๋ฅผ ์ ์๋ค.
BACKGROUND
์์์ ๋ฐฐ๊ฒฝ์ ์ปฌ๋ฌ๋ ์ด๋ฏธ์ง๋ก ์ ์ฉํ ๋ ์ฌ์ฉ
background-color : pink
๋ฐฐ๊ฒฝ์์์ ์ง์
background-color: yellow;
background-image: url(https://www.w3schools.com/CSSref/img_tree.gif);
๋จ์ผ ์ด๋ฏธ์ง ํ๋๋ง ์ ์ฉ์ ํ์์๋ ๋ถ๊ตฌํ๊ณ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ํจํด์ด ๋
ธ์ถ๋๋ค.
์ด๋ฏธ์ง๋ฅผ ํ๊ฐ๋ง ๋
ธ์ถํ๊ณ ์ถ์๋ background-repeat
์์ฑ ์ฌ์ฉ
background-repeat: no-repeat;
default๊ฐ์ด repeat.
repeat / repeat-x / repeat-y / no-repeat ๋ฑ์ ๊ฐ์ ์ ์ธํ ์ ์๋ค.
background-position: center top;
๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง์ ์์น๋ฅผ ์ ์ธ
default ๊ฐ : 0%, 0%
left top / left center/left bottom / right top/ right center/right bottom/ center top/center center/center bottom๋ฑ์ ๊ฐ ์ ์ธ๊ฐ๋ฅ.
์ผ์ชฝ์ด x์ถ, ์ค๋ฅธ์ชฝ์ด y์ถ์ ๋ํ ์ ๋ ฌ์ ์๋ฏธ
center center
: ์ด๋ฏธ์ง์ ํฌ๊ธฐ๊ฐ ๊ฐ๋ ์ค๊ฐ์ ๊ณผ ํด๋นํ๋ ํ๊ทธ๊ฐ ๊ฐ๊ณ ์๋ ์ค๊ฐ์ ์ด ๋๋ค center๋ก ์ ๋ ฌ์ด ๋๋ค
= 50% 50% ๊ณผ ๋์ผํ ๊ฐ
ํฝ์
๋ก๋ ์ ์ฉ์ ํ ์ ์๋ค.
ํฝ์
์ ๊ฒฝ์ฐ ์ด๋ฏธ์ง์ ์ผ์ชฝ ์๋จ ๋์ , left top๊ฐ์ด ๊ธฐ์ค์ด๋จ
๋ชจ๋ ์์๋ค์ด left top๊ฐ์ ๊ธฐ์ค์ ์ผ๋ก ๊ฐ๋๋ค๋๊ฒ ๊ธฐ์ตํ๊ธฐ
background-attachment : scroll;
default : scroll
ํ๋ฉด์ ์คํฌ๋กค ํ์๋ ํ๋ฉด์ ์ด๋ฏธ์ง๊ฐ position๊ฐ์ ๊ณ ์ ๋ ์์น ๊ทธ๋๋ก ๋
ธ์ถ๋๋ค
์ถ์ฝํ๋ ๊ฐ๋ฅ
background: [-color] [-image] [-repeat] [-attachment] [-position];
position๊ฐ๊ณผ repeat๊ฐ์ ๋ฐ๊ฟ์ ์ ์ธํ ์ ์๋ค.
HTML์ ๋ชจ๋ ์์๋ ์ฌ๊ฐํ์ ๋ฐ์ค๋ก ๋ง๋ค์ด์ง๋ค
๋ธ๋ผ์ฐ์ ->๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ํด๋ฆญ-> ๊ฒ์ฌ
: ์์ ํ๋ํ๋ ์ ํํด๋ณด๋ฉด ์ฌ๊ฐํ์ ๋ค๋ชจ๋ฐ์ค ํํ๋ก ์ ํ๋๋๊ฒ์ ์ ์ ์์
์ด ๋ฐ์ค๋ ๋จ์ํ ์์ญ๋ง ์ฐจ์งํ๋๊ฒ์ด ์๋๋ค
๋ฐ์ค๋ ์ด 4๊ฐ์ง ์์ญ์ผ๋ก ๊ตฌ์ฑ
๊ฐ ์์์ ํน์ง์ ๋ฐ๋ผ์ ๋ค์ํ ์คํ์ผ์ ์ ์ฉํ ์ ์๋ค.
content, padding, border, margin ์์ญ์ผ๋ก ๊ตฌ๋ถ
์ด๋ค์ ๋ชจ๋ ํตํ์ด์ box model์ด๋ผ๊ณ ํจ
contents : ์์์ ๋ด์ฉ
border : contents ์์ญ์ ๊ฐ์ธ๋ ํ ๋๋ฆฌ ์
padding : contents์ ํ ๋๋ฆฌ ์ ์ฌ์ด์ ์ฌ๋ฐฑ
margin : border ๋ฐ๊นฅ์ชฝ์ ์ฌ๋ฐฑ
margin์ ๋ฐ๊นฅ ์ฌ๋ฐฑ์ด๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ์์ ๋ค๋ฅธ ์์๊ฐ ์๋ค๋ฉด ๋ฐ์ค๊ฐ์ ์ฌ์ด์ ์ฌ๋ฐฑ์ margin์ด ์ง์ ํด ์ค ์ ์๋ค.
<head>
<meta charset="UTF-8">
<title>box model</title>
<style>
div {
margin: 50px; ๋ฐ๊นฅ์ชฝ์ผ๋ก ์ฌ๋ฐฑ ์๊น
padding: 50px; //๋ด์ฉ๊ณผ ํ
๋๋ฆฌ ์ ์์ชฝ์ผ๋ก ์ฌ๋ฐฑ ์ ์ฉ
border: 10px solid #000; //contents ๋ด์ฉ์ ๋ฐ๊นฅ์ชฝ์ผ๋ก ํ
๋๋ฆฌ ์ ์ด ์๊น
}
</style>
</head>
<body>
<div> ๋ฐ์ค ๋ชจ๋ธ์ ๋ํ์ฌ ์์๋ด
์๋ค </div> //๋ด์ฉ. contents
</body>
๊ฐ๋ฐ์ ๋๊ตฌ๋ก ํ์ธํด๋ณด๋ฉด ์์ธํ ์ ์ ์๋ค
๊ฐ๋ฐ์ ๋๊ตฌ์ styles ํญ ์์์ ๋ฐ์ค ์์ญ์ ๋ํ ๋ด์ฉ ํ์ธ ๊ฐ๋ฅ
border
์์์ ํ ๋๋ฆฌ
border-width, border-style, border-color๋ฅผ
์ถ์ฝํ์ ํํ๋ก ํ๋ฒ์ ์ ์ธํ ์ ์๊ณ
๊ฐ๊ฐ์ ์์ฑ์ ๋ฐ๋ก๋ฐ๋ก ์ ์ธํด์ค ์๋ ์๋ค
border-width: <length> [top] [right] [bottom] [left];
border-width
: ํ
๋๋ฆฌ์ ์ ๋๊ป
border-style:solid;
border-color: [top] [right] [bottom] [left];
border: [-width] [-style] [-color];
border๋ฅผ ์ถ์ฝํ์ ํํ๋ก ์ธ ์ ์๋ค.
<style>
div {
border-width: 10px;
border-style: solid;
border-color: #000;
/* ์ถ์ฝํ */
border: 10px solid #000;
}
</style>
padding
์์์ ์์ชฝ ์ฌ๋ฐฑ
padding: length|initial|inherit;
length(๊ธธ์ด์ ๋จ์), initial, inherit์ผ๋ก ์ ์ธ๊ฐ๋ฅ
0์ธ๊ฒฝ์ฐ ๋จ์ ์ ๊ฑฐ ๊ฐ๋ฅ 0px=0
<style>
div {
padding-top: 10px;
padding-right: 20px;
padding-bottom: 40px;
padding-left: 20px;
/* ์ถ์ฝํ */
padding: 10px 20px 40px;
}
</style>
์ถ์ฝํ ์ ์ธ ๊ฐ๋ฅ
์๊ณ๋ฐฉํฅ ์์์ ๋ฐ๋ผ์ ์ ์ธ
padding: [-top] [-right] [-bottom] [-left];
0 10px 20px 30px /* ์, ์ฐ, ํ, ์ข ๋ค๋ฆ */
0 10px 20px /* ์ข, ์ฐ ๊ฐ์ */
0 10px /* ์, ํ ๊ฐ์ & ์ข, ์ฐ ๊ฐ์ */
0 /* ์, ์ฐ, ํ, ์ข ๋ชจ๋ ๊ฐ์ */
margin
์์์ ๋ฐ๊นฅ ์ฌ๋ฐฑ
margin: length|auto|initial|inherit;
margin์ auto
: ๊ฐ๋ก์ถ์ ์ํ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ ์์ฃผ ์ฌ์ฉ
์ด๋ width๊ฐ ๋ฐ๋์ ํ์!!
width : contents์ ๊ฐ๋ก๊ฐ์ ์ ์ฉํ ๋ ์ฌ์ฉ
width : 300px;
margin: auto;
-> ๋ธ๋ผ์ฐ์ ๋ width๋ฅผ ์ ์ธํ ๋๋จธ์ง ์ฌ๋ฐฑ์ ํฌ๊ธฐ์ ๋ํด ๊ท ๋ฑ๋ถํ ํ์ฌ ์ ์ฉ -> ์ํ์ค์์ ๋ ฌ์ด ๋จ
margin-left : auto;
-> ์ผ์ชฝ์ ๊ธฐ์ค์ผ๋ก auto๊ฐ์ด ์ ์ฉ๋์ ์ค๋ฅธ์ชฝ ๋์ ๊ฐ
margin-left : auto;
margin-right:auto;
-> ๋๋ค auto๋ฅผ ์ฃผ๊ฒ๋๋ฉด ๋ธ๋ผ์ฐ์ ๊ฐ ์ ์ ๋ก ๊ณ์ฐ์ ํด์ width:300px์ ๊ฐ์ง๊ณ ์๋ ์์๊ฐ ์ปจํ ์ด๋ ์์์ ์ค์์ ๋ ฌ๋จ
์ํ๋ auto์ ๊ธฐ๋ฅ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ ์กด์ฌ
๊ธฐ๋ณธ์ ์ธ flow ๋ฐ์ค ํํ์ ๋์ด์์๋ ๋ง์ด ์ฌ์ฉ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ธฐ์ด์์๋ ๊ฐ๋ก์ถ๋ง ์ ์๊ธฐ
์ค์ ๋ก ๊ฐ๋ก์ถ ์ ๋ ฌ ํ ๋ margin: 0 auto; ๋ง์ด ํ์ฉ
์ฃผ์ ) width๋ฅผ ๊ฐ๊ณ ์๋ ์์์๋ง ์ ์ฉ๊ฐ๋ฅ. width๊ฐ ์๋ค๋ฉด ์๋ฌด๋ฐ ๊ธฐ๋ฅ ํ ์ ์๋ค
margin collapse
top๊ฐ๊ณผ bottom๊ฐ์ด ๊ฒน์น๊ฒ ๋๋ฉด ๋ ํฐ ๊ฐ์ด ์์๋ฅผ ์ฐจ์งํ๊ฒ ๋์ด์ ํฐ ๊ฐ์ผ๋ก ์ ์ฉ๋จ
๋ง์ง ๋ณํฉ์ ์ ์ด์ฉํ๊ฒ ๋๋ฉด ๋ค์ํ ์ปดํฌ๋ํธ๊ฐ ์ฒซ๋ฒ์จฐ์ ๋๋ฒ์งธ ์กฐํฉ์ด ๋ฌ๋ผ์ง๋ ๊ฒฝ์ฐ์ ์ฌ๋ฐฑ์ ๋ค๋ฅด๊ฒ ์ ์ธํ ์ ์๋ค.
์ ๋ฆฌ
margin๊ณผ padding์ด ๋ชจ๋ ์ฌ๋ฐฑ์ ์ ์ธํ ๋ ์ ์ฉํ๋ ์์ฑ์ด๋ฏ๋ก
border๊ฐ ์๋ค๋ฉด ์ฌ๋ฐฑ์ margin์ผ๋ก ์ฃผ์ด์ผํ ์ง padding์ผ๋ก ์ฃผ์ด์ผํ ์ง ํท๊ฐ๋ฆผ
+ - auto ๋จ์
margin o o o px, % ...
padding o x x px, % ...
์ฌ๋์ ๋ผ๊ฐ contents ์์ญ, ํผ๋ถ๋ฅผ border๋ผ๊ณ ์๊ฐํ๋ฉด ๋ผ์ ํผ๋ถ ์ฌ์ด์๋ ์ง๋ฐฉ๊ฐ์๊ฑธ๋ก ์ฑ์์ ธ ์์.
์ง๋ฐฉ์ padding์ด๋ผ๊ณ ์๊ฐํ๊ณ ์ฌ๋๊ฐ์ ๊ฑฐ๋ฆฌ๋ฅผ margin์ผ๋ก ์๊ฐํ๋ค.
padding์ ์์ชฝ๊น์ง, ์ด์ ๋ผ ์์ชฝ๊น์ง ๋บ ์ ์์ผ๋๊น padding์ ์์๊ฐ์ด ์๋๋ค
margin์ ์ฌ๋๊ฐ์ ์์น๊ฐ ๊ฒน์ณ์ง ์ ์์ผ๋๊น ์์๊ฐ ๊ฐ๋ฅํ๋ค
border๋ ์์๋ง ๊ฐ๋ฅ
๋ ์์ฑ ๋ชจ๋ %๋ก๋ ์ ์ธ๊ฐ๋ฅ
์ฃผ์)
%๋ก ์ ์ธํ ๋ %๋ ์์์ ๊ฐ๋ก์ถ์ ๊ธฐ์ค์ผ๋ก %๋ฅผ ์ก๊ธฐ ๋๋ฌธ์ top๊ณผ bottom์ ๊ฐ์ %๋ฅผ ๋ฃ์์๋๋ ๊ฐ๋ก์ถ์ ๊ธฐ์ค์ผ๋ก ์ ์ฉ์ด ๋๋ค!
-> ๊ฐ๋ก์ถ์ด ๋์ด๋๋ฉด padding-top์ 20%๊ฐ ๊ณ์ ์ฆ๊ฐํ๋ค
์ฆ ๋์ด๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ๊ฒ ์๋๋ผ ๊ฐ๋ก์ถ๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ๊ณ ์์์ ์ ์ ์๋ค.
margin : default๊ฐ 0, inherited๊ฐ no์ด๋ฏ๋ก ์์์ด ๋์ง ์๋๋ค
div {
width: 100px;
height: 200px;
margin: 10%;
padding: 10%;
}
<style>
div {
width: 300px;
height: 100px;
margin: -10px -10px 20px 30px;
padding: 10px 20px 30px 40px; /* padding ์์ ์ฌ์ฉ ๋ถ๊ฐ */
}
</style>
WIDTH
์์์ ๊ฐ๋ก๊ฐ์ ๊ฒฐ์
width: auto|value|initial|inherit;
๊ธฐ๋ณธ๊ฐ์ด auto์ด๋ฏ๋ก width๋ฅผ ์ ์ธํ์ง ์์ผ๋ฉด ๊ทธ ๊ฐ์ ๊ธฐ๋ณธ์ auto๋ก ๋์ด์์.
px๋ฑ์ ๋ค๋ฅธ ๋จ์๋ก๋ ์ ์ธ๊ฐ๋ฅ
.box {
width: 100px;
padding: 20px;
border: 10px solid black;
}
width๋ฅผ ์ ์ธ
= contents ์์ญ์ ๋ฐ์ค๊ฐ ์๋๋ผ ๋ฐ์ค๊ฐ ํฌํจํ๊ณ ์๋ ์์, contents ๋ด์ฉ์ width๊ฐ์ ์ ์ธํ๋๊ฒ
ex) width=100px;
์ด๋ฉด ์์์ ์ด ๊ฐ๋กํฌ๊ธฐ๋ 160px.
width์ padding๊ฐ๊ณผ border๊ฐ์ ๋ค ๋ํ๊ฐ์ด ๋ฐ์ค์ ์ฌ์ด์ง์ด ๋๋ค.
100px + (20px2) + (10px2) = 160px
%๋ก ๋ฃ๊ฒ๋๋ฉด
๋ถ๋ชจ์์์ contents๊ฐ์ 50%๋ฅผ ํ๋๊น ์์์์์ contents๊ฐ์ 50%ํ ๊ฐ์ด ์ง์ ์ด ๋๋ค.
์ฆ ์์์์์ %๊ฐ์ ๋ถ๋ชจ์์์ contents ์์ญ์ ์ํฅ์ ๋ฐ๋๋ค
.parent {
width: 300px;
border: 20px solid red;
}
.child {
width: 50%;
padding: 20px;
border: 10px solid black;
}
.child
์ ํฌ๊ธฐ๋ 210px.
๋ถ๋ชจ์ width์ 50%์ธ 150px์ด width๊ฐ์ผ๋ก ๊ฒฐ์
150px + (20px 2) + (10px 2) = 210px
HEIGHT
์์์ ๋์ด๊ฐ์ ๊ฒฐ์
height:auto|length|intial|inherit;
width์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ธฐ๋ณธ๊ฐ์ด auto
px, %๋ฑ์ length์ธ ๊ธธ์ด๋จ์๋ก ์ ์ธ๊ฐ๋ฅ
auto์ธ ๊ฒฝ์ฐ ๋ด์ฉ์ด ๊ธธ์ด์ง๋ ๋์ด๊ฐ์ด ๊ฐ์ด ๋ณํ๋จ
contents์ ๋ด์ฉ์ด ๊ธธ์ด์ง๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก ๊ณ์ฐํ ์ ์๋๋ก hegiht๊ฐ์ ์ ์ธํ์ง ์๋ ๊ฒฝ์ฐ๋ ๋ง๋ค
.box {
width: 100px;
height: 100px;
padding: 10px;
border: 15px solid black;
}
width์ ๋ง์ฐฌ๊ฐ์ง๋ก contents ์์์ ๋ด์ฉ์ ๋์ด๊ฐ์ ์ ์ธํ ๋ ์ฌ์ฉํ๋ ์์ฑ์ด๋ค
height์ ๋ฐ์ค ์ฌ์ด์ง ๊ณ์ฐ
100px + 20px + 30px =150px
๋์์ธ ๊ฐ์ด๋๊ฐ 160px๋ฅผ ์๊ตฌํ๋ฉด width๊ฐ์ 160px๋ก ์ง์ ํ๋ฉด ์๋๊ณ border๋ padding์ด ์๋ ๊ฒฝ์ฐ ์ ์ฒด๋ฅผ ๋ํ๊ฐ์ด 160px์ด ๋๋๋ก ์์ !!
%๋ฅผ ์ ์ฉํ์ ๊ฒฝ์ฐ
.parent {
width: 200px;
border: 10px solid black;
}
.child {
height: 50%;
background: red;
}
%๋ containing block์ %๋ฅผ ๋์ด๊ฐ์ผ๋ก ์ ์ํ๋ค.
containing blcok
: .child
๊ฐ ์ฐจ์งํ ์ ์๋ ๊ณต๊ฐ, ๋ถ๋ชจ๋ฅผ ์๋ฏธ
parent์ child์ฌ์ด์ ๋ฐ์ค์์ญ์ด ์กด์ฌํจ.
์ด child๊ฐ ์กด์ฌํ ์ ์๋ ๋ฐ์ค์์ญ์ด containing block
๊ทธ๋์ child๋ฅผ height์ ๋์ด ๊ฐ์ %๋ก ์ฃผ๋ ค๋ฉด parent์ ๊ณ ์ ๋์ด๊ฐ์ด ํ์ํจ
%๋ฅผ ์ ์ํ ๋๋ ์ด๋ค๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ๊ณ ์๋์ง๋ฅผ ์ฃผ์ํด์ผํ๋ค