๐Ÿ’›[๋ถ€์ŠคํŠธ์ฝ”์Šค_์›น UI ๊ฐœ๋ฐœ] 5. ๋‹จ์œ„, ๋ฐฐ๊ฒฝ, ๋ฐ•์Šค๋ชจ๋ธ

๐Ÿ‘พยท2021๋…„ 1์›” 24์ผ
0

HTML & CSS

๋ชฉ๋ก ๋ณด๊ธฐ
5/20

์†์„ฑ - ์ •์˜์™€ ๊ตฌ๋ฌธ

css์†์„ฑ์€ ์ข…๋ฅ˜๊ฐ€ ๊ต‰์žฅํžˆ ๋งŽ๊ณ  ๊ณ„์† ์—…๋ฐ์ดํŠธ๋˜๊ณ  ์žˆ๋‹ค

์‹ค๋ฌด์ž๋“ค์ด ๊ฐ€์žฅ ๋งŽ์ด ์ฐธ๊ณ ํ•˜๋Š” ์‚ฌ์ดํŠธ

  • https://www.w3.org
    css์†์„ฑ์„ ์ •์˜ํ•˜๋Š” w3c์—์„œ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์ดํŠธ์ด๋ฏ€๋กœ ๊ฐ€์žฅ ์ •ํ™•
  • https://www.w3schools.com
    ๊ฐ„๋‹จํ•˜๊ฒŒ ์ŠคํŽ™๊ณผ ์˜ˆ์ œ๋ฅผ ํ™•์ธํ•˜๋Š”๋ฐ ์šฉ์ด
  • https://developer.mozilla.org
    ๊ฐœ๋ฐœ์  ๋ฒ„๊ทธ๋‚˜ ์ถ”๊ฐ€์ ์ธ ์ŠคํŽ™์— ๋Œ€ํ•ด์„œ ํ™•์ธํ•˜๋Š”๋ฐ ์šฉ์ด

w3school

css reference๋ฅผ ํ†ตํ•ด ํ™•์ธ๊ฐ€๋Šฅํ•œ ์‚ฌํ•ญ

  1. ์ •์˜
  • ๊ธฐ๋ณธ๊ฐ’
    ๋ชจ๋“  ์†์„ฑ์—๋Š” ๊ธฐ๋ณธ๊ฐ’์ด ์ •์˜๋˜์–ด ์žˆ๋‹ค
  • ์ƒ์†
    ๋ถ€๋ชจ์˜ ๊ฐ’์„ ์ƒ์†๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ•ด๋‹น ์—ฌ๋ถ€
  • ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€
  • ๋ฒ„์ „
    css๋ฒ„์ „์— ๋”ฐ๋ผ ๋ธŒ๋ผ์šฐ์ € ์ง€์›์œจ๋„ ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ„์ „์€ ์ค‘์š”.
    1) ์‹ค๋ฌด์—์„œ๋Š” ์ž‘์—…ํ•˜๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋ธŒ๋ผ์šฐ์ € ์ง€์› ๋ฒ”์œ„๋ฅผ ๋ฐ˜๋“œ์‹œ ํ™•์ธํ•ด์•ผ ํ•˜๊ณ ,
    2) ๊ทธ์— ๋”ฐ๋ผ ๋ณธ์ธ์ด ์‚ฌ์šฉํ•˜๋Š” css๊ฐ€ ํ•ด๋‹น ๋ธŒ๋ผ์šฐ์ €๋“ค์„ ์ง€์›ํ•˜๋Š” ๋ฒ”์œ„์— ์žˆ๋Š”์ง€ css ๋ฒ„์ „์„ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋„ ๊ต‰์žฅํžˆ ์ค‘์š”.
  • syntax ๋ฌธ๋ฒ•
    ์†์„ฑ์— ์–ด๋– ํ•œ ๊ฐ’๋“ค์„ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š”์ง€
    • initial : ์†์„ฑ์˜ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”๋œ๋‹ค.
      ์ธํ„ฐ๋„ท ์ต์Šคํ”Œ๋กœ๋Ÿฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ์ด ๊ฐ’์„ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ž˜ ์‚ฌ์šฉํ•ด์•ผํ•จ
    • inherit : ๋ถ€๋ชจ ์š”์†Œ์˜ ํ•ด๋‹น ์†์„ฑ์˜ ๊ฐ’์„ ์ƒ์†
      ์œ„์—์„œ ํ™•์ธํ•œ ์†์„ฑ์˜ ์ŠคํŽ™์ด inherited๊ฐ€ yes์ผ๋•Œ๋งŒ ์ ์šฉ๊ฐ€๋Šฅ

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์†์„ฑ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ‰์ƒ๊ณผ ๊ด€๋ จ๋œ ๋‹ค๋ฅธ ์†์„ฑ์—๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค


1.

์ปฌ๋Ÿฌ๋Š” ์ƒ‰์ƒ๋ช…์œผ๋กœ ์„ ์–ธ๊ฐ€๋Šฅ

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๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์†์„ฑ์—๋„ ์ ์šฉ๋œ๋‹ค.)


3.
body{color:#000}

16์ง„์ˆ˜์—์„œ ๊ฐ™์€ ์ˆ˜๊ฐ€ ๋‘๊ฐœ์”ฉ์ด๋ฉด ์ถ•์•ฝํ•˜์—ฌ ์„ธ์ž๋ฆฌ๋กœ๋„ ํ‘œํ˜„๊ฐ€๋Šฅ


4.
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
์š”์†Œ์˜ ๋ฐฐ๊ฒฝ์„ ์ปฌ๋Ÿฌ๋‚˜ ์ด๋ฏธ์ง€๋กœ ์ ์šฉํ•  ๋•Œ ์‚ฌ์šฉ

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 ๋“ฑ์˜ ๊ฐ’์„ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

  • repeat-x : x์ถ•์œผ๋กœ๋งŒ ๊ณ„์† ๋ฐ˜๋ณต์ ์œผ๋กœ ๋…ธ์ถœ
  • repeat-y : 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๊ฐ’์— ๊ณ ์ •๋œ ์œ„์น˜ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ๋œ๋‹ค

  • fixed : ์Šคํฌ๋กค์„ ํ•˜๋”๋ผ๋„ ๊ณ„์† ๋ธŒ๋ผ์šฐ์ €๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ณ ์ •์ ์œผ๋กœ ์œ„์น˜ํ•œ๋‹ค.
    fixed position์€ background-position๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋ฉด ๋‹ฌ๋ผ์ง„๋‹ค.
  • local, intial, inherit : ๋ธŒ๋ผ์šฐ์ € ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ๋–„๋ฌธ์— ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š์Œ

์ถ•์•ฝํ˜•๋„ ๊ฐ€๋Šฅ

background: [-color] [-image] [-repeat] [-attachment] [-position];

position๊ฐ’๊ณผ repeat๊ฐ’์„ ๋ฐ”๊ฟ”์„œ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.


์†์„ฑ - boxmodel

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
์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ

border-width, border-style, border-color๋ฅผ
์ถ•์•ฝํ˜•์˜ ํ˜•ํƒœ๋กœ ํ•œ๋ฒˆ์— ์„ ์–ธํ•  ์ˆ˜ ์žˆ๊ณ 
๊ฐ๊ฐ์˜ ์†์„ฑ์„ ๋”ฐ๋กœ๋”ฐ๋กœ ์„ ์–ธํ•ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค


border-width: <length> [top] [right] [bottom] [left];

border-width
: ํ…Œ๋‘๋ฆฌ์„ ์˜ ๋‘๊ป˜

  • length๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธธ์ด์— ๋Œ€ํ•œ ๋‹จ์œ„๋กœ ์„ ์–ธ๊ฐ€๋Šฅ
  • thin,medium, thick์ฒ˜๋Ÿผ ํ‚ค์›Œ๋“œ๋กœ๋„ ์„ ์–ธ ๊ฐ€๋Šฅ
  • ์‚ฌ๋ฐฉ์— ์„œ๋กœ ๋‹ค๋ฅธ ๋‘๊ป˜๋ฅผ ์„ ์–ธํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

border-style:solid;
  • solid(์‹ค์„ )๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ
  • ์ ์„ , ์‹ค์„ , ์ด์ค‘์„  ๋“ฑ๋“ฑ์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์Šคํƒ€์ผ ์ ์šฉ๊ฐ€๋Šฅ
  • top, right, bottom, left์— ๋‹ค๋ฅธ border-style ์ ์šฉ๊ฐ€๋Šฅ
  • default : none

border-color: [top] [right] [bottom] [left];
  • ์‚ฌ๋ฐฉ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ฌ๋ฐฉ์— ๋‹ค๋ฅด๊ฒŒ color๋ฅผ ๋„ฃ์„๋•Œ์— ๊ผญ์ง“์ ์—์„œ ์‚ฌ์„ ์œผ๋กœ / \ ๋กœ ์น ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜๋Š”๋Œ€๋กœ ํ‘œํ˜„์ด ์•ˆ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

border: [-width] [-style] [-color];

border๋ฅผ ์ถ•์•ฝํ˜•์˜ ํ˜•ํƒœ๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

 <style>
    div {
      border-width: 10px;
      border-style: solid;
      border-color: #000;


      /* ์ถ•์•ฝํ˜• */
      border: 10px solid #000;
    }
  </style>

์†์„ฑ - padding

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>

์ถ•์•ฝํ˜• ์„ ์–ธ ๊ฐ€๋Šฅ
์‹œ๊ณ„๋ฐฉํ–ฅ ์ˆœ์„œ์— ๋”ฐ๋ผ์„œ ์„ ์–ธ

  • right=left์ผ๋•Œ left ์ƒ๋žต๊ฐ€๋Šฅ
  • right=left & top=bottom์ผ๋•Œ left, bottom ์ƒ๋žต๊ฐ€๋Šฅ
  • ์ƒํ•˜์ขŒ์šฐ ๋ชจ๋‘ ๊ฐ™์„๋•Œ = ํ•˜๋‚˜์˜ ๊ฐ’์œผ๋กœ ์„ ์–ธ๊ฐ€๋Šฅ
padding: [-top] [-right] [-bottom] [-left];
           0      10px     20px      30px   /* ์ƒ, ์šฐ, ํ•˜, ์ขŒ ๋‹ค๋ฆ„ */
           0      10px     20px             /* ์ขŒ, ์šฐ ๊ฐ™์Œ */
           0      10px                      /* ์ƒ, ํ•˜ ๊ฐ™์Œ & ์ขŒ, ์šฐ ๊ฐ™์Œ */
           0                                /* ์ƒ, ์šฐ, ํ•˜, ์ขŒ ๋ชจ๋‘ ๊ฐ™์Œ */

์†์„ฑ - margin

margin
์š”์†Œ์˜ ๋ฐ”๊นฅ ์—ฌ๋ฐฑ

margin: length|auto|initial|inherit;
  • ๊ฐ’์„ ๊ธธ์ด๋กœ ์„ ์–ธ๊ฐ€๋Šฅ
  • ๋ฐ•์Šค๋ชจ๋ธ์˜ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๊ฐ’ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค
  • ์ถ•์•ฝํ˜•์˜ ํ˜•ํƒœ๋กœ ์„ ์–ธ๊ฐ€๋Šฅ (padding๊ณผ ๋™์ผ)
  • auto๊ฐ’ ์„ ์–ธ๊ฐ€๋Šฅ -> ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์—ฌ๋ฐฑ์„ ๊ณ„์‚ฐํ•˜์—ฌ ์ ์šฉํ•ด์ค€๋‹ค.

margin์˜ auto
: ๊ฐ€๋กœ์ถ•์„ ์ˆ˜ํ‰์„  ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ• ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ
์ด๋•Œ width๊ฐ’ ๋ฐ˜๋“œ์‹œ ํ•„์š”!!
width : contents์˜ ๊ฐ€๋กœ๊ฐ’์„ ์ ์šฉํ•  ๋•Œ ์‚ฌ์šฉ

width : 300px;
margin: auto;

-> ๋ธŒ๋ผ์šฐ์ €๋Š” width๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์—ฌ๋ฐฑ์— ํฌ๊ธฐ์— ๋Œ€ํ•ด ๊ท ๋“ฑ๋ถ„ํ• ํ•˜์—ฌ ์ ์šฉ -> ์ˆ˜ํ‰์ค‘์•™์ •๋ ฌ์ด ๋จ

margin-left : auto;

-> ์™ผ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ auto๊ฐ’์ด ์ ์šฉ๋˜์„œ ์˜ค๋ฅธ์ชฝ ๋์— ๊ฐ

margin-left : auto;
margin-right:auto;

-> ๋‘˜๋‹ค auto๋ฅผ ์ฃผ๊ฒŒ๋˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ €์ ˆ๋กœ ๊ณ„์‚ฐ์„ ํ•ด์„œ width:300px์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์š”์†Œ๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์—์„œ ์ค‘์•™์ •๋ ฌ๋จ

  • margin auto
    : ๊ฐ€๋กœ์ถ• ์ค‘์•™์ •๋ ฌ์„ ํ• ๋–„ ๋งŽ์ด ์‚ฌ์šฉ
    ์š”์†Œ์˜ width๊ฐ’์ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•˜๋‹ค
  • margin : auto์™€ margin: 0 auto์˜ ์ฐจ์ด
    -> ๋™์ผํ•จ
    margin auto์˜ ๊ฒฝ์šฐ auto๋Š” ์ผ๋‹จ ๊ฐ€๋กœ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ๋‹ค

์ƒํ•˜๋„ auto์˜ ๊ธฐ๋Šฅ์„ ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ ์กด์žฌ
๊ธฐ๋ณธ์ ์ธ flow ๋ฐ•์Šค ํ˜•ํƒœ์˜ ๋‚˜์—ด์—์„œ๋Š” ๋งŽ์ด ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ดˆ์—์„œ๋Š” ๊ฐ€๋กœ์ถ•๋งŒ ์ž˜ ์•Œ๊ธฐ

์‹ค์ œ๋กœ ๊ฐ€๋กœ์ถ• ์ •๋ ฌ ํ• ๋•Œ margin: 0 auto; ๋งŽ์ด ํ™œ์šฉ
์ฃผ์˜ ) width๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ์š”์†Œ์—๋งŒ ์ ์šฉ๊ฐ€๋Šฅ. width๊ฐ€ ์—†๋‹ค๋ฉด ์•„๋ฌด๋Ÿฐ ๊ธฐ๋Šฅ ํ•  ์ˆ˜ ์—†๋‹ค

margin collapse
top๊ฐ’๊ณผ bottom๊ฐ’์ด ๊ฒน์น˜๊ฒŒ ๋˜๋ฉด ๋” ํฐ ๊ฐ’์ด ์ƒ์œ„๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋˜์–ด์„œ ํฐ ๊ฐ’์œผ๋กœ ์ ์šฉ๋จ

๋งˆ์ง„ ๋ณ‘ํ•ฉ์„ ์ž˜ ์ด์šฉํ•˜๊ฒŒ ๋˜๋ฉด ๋‹ค์–‘ํ•œ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ฒซ๋ฒˆ์จฐ์™€ ๋‘๋ฒˆ์งธ ์กฐํ•ฉ์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒฝ์šฐ์— ์—ฌ๋ฐฑ์„ ๋‹ค๋ฅด๊ฒŒ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ •๋ฆฌ

  • margin์€ padding๊ณผ ๋‹ฌ๋ฆฌ auto๊ฐ’์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค
  • auto๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๊ณ„์‚ฐํ•ด์ฃผ๋Š” ๊ฐ’. ๊ฐ€๋กœ์ถ• ์ค‘์•™ ์ •๋ ฌ์— ๋งŽ์ด ์“ฐ์ธ๋‹ค
  • ์ค‘์•™์ •๋ ฌ์„ ํ• ๋•Œ ๋ฐ˜๋“œ์‹œ width๊ฐ’์„ ์„ ์–ธํ•ด์•ผ ํ•œ๋‹ค.

์†์„ฑ-margin&padding

margin๊ณผ padding์ด ๋ชจ๋‘ ์—ฌ๋ฐฑ์„ ์„ ์–ธํ•  ๋•Œ ์ ์šฉํ•˜๋Š” ์†์„ฑ์ด๋ฏ€๋กœ
border๊ฐ€ ์—†๋‹ค๋ฉด ์—ฌ๋ฐฑ์„ margin์œผ๋กœ ์ฃผ์–ด์•ผํ• ์ง€ padding์œผ๋กœ ์ฃผ์–ด์•ผํ• ์ง€ ํ—ท๊ฐˆ๋ฆผ

         +       -      auto     ๋‹จ์œ„

margin   o       o       o      px, % ...   

padding  o       x       x      px, % ...

  • ์Œ์ˆ˜๋Š” margin๋งŒ ๊ฐ€๋Šฅ

์‚ฌ๋žŒ์˜ ๋ผˆ๊ฐ€ contents ์˜์—ญ, ํ”ผ๋ถ€๋ฅผ border๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ผˆ์™€ ํ”ผ๋ถ€ ์‚ฌ์ด์—๋Š” ์ง€๋ฐฉ๊ฐ™์€๊ฑธ๋กœ ์ฑ„์›Œ์ ธ ์žˆ์Œ.
์ง€๋ฐฉ์„ padding์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์‚ฌ๋žŒ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๋ฅผ margin์œผ๋กœ ์ƒ๊ฐํ•œ๋‹ค.
padding์„ ์•ˆ์ชฝ๊นŒ์ง€, ์‚ด์„ ๋ผˆ ์•ˆ์ชฝ๊นŒ์ง€ ๋บ„ ์ˆ˜ ์—†์œผ๋‹ˆ๊นŒ padding์€ ์Œ์ˆ˜๊ฐ’์ด ์•ˆ๋œ๋‹ค

margin์€ ์‚ฌ๋žŒ๊ฐ„์˜ ์œ„์น˜๊ฐ€ ๊ฒน์ณ์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ ์Œ์ˆ˜๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค
border๋„ ์–‘์ˆ˜๋งŒ ๊ฐ€๋Šฅ

  • auto๋Š” margin๋งŒ ๊ฐ€๋Šฅ

๋‘ ์†์„ฑ ๋ชจ๋‘ %๋กœ๋„ ์„ ์–ธ๊ฐ€๋Šฅ
์ฃผ์˜)
%๋กœ ์„ ์–ธํ•  ๋•Œ %๋Š” ์š”์†Œ์˜ ๊ฐ€๋กœ์ถ•์„ ๊ธฐ์ค€์œผ๋กœ %๋ฅผ ์žก๊ธฐ ๋–„๋ฌธ์— 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
์š”์†Œ์˜ ๊ฐ€๋กœ๊ฐ’์„ ๊ฒฐ์ •

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
์š”์†Œ์˜ ๋†’์ด๊ฐ’์„ ๊ฒฐ์ •

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์˜ ๊ณ ์ • ๋†’์ด๊ฐ’์ด ํ•„์š”ํ•จ
%๋ฅผ ์ •์˜ํ• ๋•Œ๋Š” ์–ด๋–ค๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค


์†์„ฑ - boxmodel ์ •๋ฆฌ

  • ๋ฐ•์Šค๋ชจ๋ธ์€ contents, padding, border, margin 4๊ฐ€์ง€ ์˜์—ญ์œผ๋กœ ๊ตฌ๋ถ„
  • contents ์˜์—ญ์˜ ๋„ˆ๋น„๋ฅผ width๊ฐ€ ์„ ์–ธ
  • ๋†’์ด๋ฅผ height๊ฐ’์œผ๋กœ ์„ ์–ธ
  • ๋ฐ•์Šค ์‚ฌ์ด์ง•์˜ ํฌ๊ธฐ๋Š” contents ์˜์—ญ์˜ width, height์— padding๊ฐ’๊ณผ border๊ฐ’์„ ๋”ํ•œ ๊ฐ’.
  • ๋‹ค๋ฅธ ์š”์†Œ์™€์˜ ์—ฌ๋ฐฑ์€ margin์œผ๋กœ ์„ ์–ธ. ์Œ์ˆ˜๋กœ๋„ ๊ฐ€๋Šฅ
  • margin collapse ์กด์žฌ
  • ๋ฐ•์Šค๋ชจ๋ธ์€ ๊ฐ„๋‹จํ•˜๋ฉด์„œ๋„ ๋ฌธ์„œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ด๋‹ค
  • ์—ฃ์ง€, margin dege, border edge, padding edge๋ผ๋Š” ๋ถ€๋ถ„๋„ ์กด์žฌ
    ์ค‘์š”ํ•œ ๋‚ด์šฉ์ด๋‹ˆ ๊ธฐ์ดˆ ์ดํ›„์— ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€