๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽจ Frontend

CSS๋กœ ์Šคํƒ€์ผ๋ง ์‹œ์ž‘ํ•˜๊ธฐ

by hyebin (Helia) 2025. 4. 10.
๋ฐ˜์‘ํ˜•

HTML๋งŒ์œผ๋กœ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ๋„ˆ๋ฌด ๋ฐ‹๋ฐ‹ํ•˜์ฃ .

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” CSS(Cascading Style Sheets)๋ฅผ ์‚ฌ์šฉํ•ด ๊ธ€๊ผด, ์ƒ‰์ƒ, ๋ ˆ์ด์•„์›ƒ ๋“ฑ ์›น์˜ ์‹œ๊ฐ์ ์ธ ์Šคํƒ€์ผ์„ ์ž…ํž ์ˆ˜ ์žˆ์–ด์š”.

์ด ๊ธ€์—์„œ๋Š” CSS์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ๊ผญ ์•Œ์•„์•ผ ํ•  ํ•ต์‹ฌ ์†์„ฑ๋“ค๊นŒ์ง€ ์ •๋ฆฌํ•ด๋ณผ๊ฒŒ์š”.


1๏ธโƒฃ CSS ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๊ณผ ๊ตฌ์กฐ

CSS๋Š” HTML์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์Šคํƒ€์ผ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒ์ž {
  ์†์„ฑ: ๊ฐ’;
}

 

์˜ˆ์‹œ:

p {
  color: blue;
  font-size: 16px;
}
  • ์„ ํƒ์ž(Selector)๋Š” ์–ด๋–ค ์š”์†Œ์— ์Šคํƒ€์ผ์„ ์ ์šฉํ• ์ง€๋ฅผ ์ง€์ •
  • ์†์„ฑ(Property)์€ ์ ์šฉํ•  ์Šคํƒ€์ผ ์ข…๋ฅ˜
  • ๊ฐ’(Value)์€ ์†์„ฑ์— ๋Œ€ํ•œ ๊ตฌ์ฒด์ ์ธ ์„ค์ •

CSS ์ ์šฉ ๋ฐฉ์‹

  1. ์ธ๋ผ์ธ ์Šคํƒ€์ผ: HTML ์š”์†Œ์— ์ง์ ‘ style ์†์„ฑ ์‚ฌ์šฉ
  2. ๋‚ด๋ถ€ ์Šคํƒ€์ผ: <style> ํƒœ๊ทธ๋ฅผ <head> ์•ˆ์— ์ž‘์„ฑ
  3. ์™ธ๋ถ€ ์Šคํƒ€์ผ์‹œํŠธ: .css ํŒŒ์ผ๋กœ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ <link> ํƒœ๊ทธ๋กœ ์—ฐ๊ฒฐ (์‹ค๋ฌด์—์„œ๋Š” ๋ณดํ†ต ์ด ๋ฐฉ์‹ ์‚ฌ์šฉ)

2๏ธโƒฃ ์„ ํƒ์ž(Selector) ์ข…๋ฅ˜ ์ด์ •๋ฆฌ

์Šคํƒ€์ผ์„ ์ ์šฉํ•  ๋Œ€์ƒ์„ ์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์„ ํƒ์ž๋“ค! ์•„๋ž˜๋Š” ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

์„ ํƒ์ž ์„ค๋ช… ์˜ˆ์‹œ
* ์ „์ฒด ์„ ํƒ์ž * { margin: 0; }
ํƒœ๊ทธ ์„ ํƒ์ž ํŠน์ • ํƒœ๊ทธ์— ์ ์šฉ p { color: red; }
ํด๋ž˜์Šค ์„ ํƒ์ž ํด๋ž˜์Šค๋ช…์œผ๋กœ ์„ ํƒ .title { font-size: 20px; }
์•„์ด๋”” ์„ ํƒ์ž ๊ณ ์œ  ID๋กœ ์„ ํƒ #main { background: yellow; }
์ž์‹ ์„ ํƒ์ž (>) ๋ฐ”๋กœ ์•„๋ž˜ ์ž์‹ ul > li {}
ํ›„์† ์„ ํƒ์ž (๊ณต๋ฐฑ) ๋ชจ๋“  ์ž์‹ div p {}
๊ทธ๋ฃน ์„ ํƒ์ž ์—ฌ๋Ÿฌ ์š”์†Œ ๋ฌถ๊ธฐ h1, h2, h3 {}
์†์„ฑ ์„ ํƒ์ž ํŠน์ • ์†์„ฑ ๊ฐ€์ง„ ์š”์†Œ ์„ ํƒ input[type="text"]

 


3๏ธโƒฃ ๋ฐ•์Šค ๋ชจ๋ธ(Box Model) ์ดํ•ดํ•˜๊ธฐ

 

๋ชจ๋“  HTML ์š”์†Œ๋Š” ํ•˜๋‚˜์˜ ๋ฐ•์Šค์ž…๋‹ˆ๋‹ค. ์ด ๋ฐ•์Šค๋Š” ์ด 4๊ฐœ์˜ ๋ ˆ์ด์–ด๋กœ ๊ตฌ์„ฑ๋ผ์š”

์ถœ์ฒ˜: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_box_model

์šฉ์–ด ์„ค๋ช…
content ์‹ค์ œ ์ฝ˜ํ…์ธ  ์˜์—ญ (ํ…์ŠคํŠธ, ์ด๋ฏธ์ง€ ๋“ฑ)
padding ์ฝ˜ํ…์ธ ์™€ ํ…Œ๋‘๋ฆฌ ์‚ฌ์ด์˜ ์•ˆ์ชฝ ์—ฌ๋ฐฑ
border ์š”์†Œ์˜ ํ…Œ๋‘๋ฆฌ
margin ์š”์†Œ ๋ฐ”๊นฅ์ชฝ ์—ฌ๋ฐฑ (๋‹ค๋ฅธ ์š”์†Œ์™€์˜ ๊ฑฐ๋ฆฌ)

 

Tip: box-sizing: border-box;์„ ์‚ฌ์šฉํ•˜๋ฉด padding๊ณผ border๋„ width์— ํฌํ•จ๋˜์–ด ๊ณ„์‚ฐ๋˜์–ด ๋ ˆ์ด์•„์›ƒ ์žก๊ธฐ ๋” ์‰ฌ์›Œ์š”.


4๏ธโƒฃ ์ƒ‰์ƒ, ํฐํŠธ, ์—ฌ๋ฐฑ ์Šคํƒ€์ผ๋งํ•˜๊ธฐ

CSS๋กœ๋Š” ํ…์ŠคํŠธ์™€ ์š”์†Œ์˜ ์‹œ๊ฐ์ ์ธ ์Šคํƒ€์ผ์„ ๋‹ค์–‘ํ•˜๊ฒŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์–ด์š”.

body {
  background-color: #f9f9f9;
  color: #333;
  font-family: 'Pretendard', sans-serif;
  padding: 20px;
}

h1 {
  font-size: 32px;
  margin-bottom: 16px;
}

 

์ž์ฃผ ์“ฐ๋Š” ์†์„ฑ ์ •๋ฆฌ

์†์„ฑ ์„ค๋ช…
color ๊ธ€์ž ์ƒ‰
background-color ๋ฐฐ๊ฒฝ ์ƒ‰
font-size, font-family ๊ธ€์ž ํฌ๊ธฐ, ๊ธ€๊ผด
margin, padding ๋ฐ”๊นฅ ์—ฌ๋ฐฑ, ์•ˆ์ชฝ ์—ฌ๋ฐฑ
text-align ํ…์ŠคํŠธ ์ •๋ ฌ (left, center, right)

 


5๏ธโƒฃ display ์†์„ฑ ์ด์ •๋ฆฌ

์š”์†Œ๊ฐ€ ํ™”๋ฉด์—์„œ ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜๋ ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ค‘์š”ํ•œ ์†์„ฑ์ž…๋‹ˆ๋‹ค.

๊ฐ’ ์„ค๋ช…
block ํ•œ ์ค„ ์ „์ฒด๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๋ธ”๋ก ์š”์†Œ (div, p ๋“ฑ)
inline ์ฝ˜ํ…์ธ  ํฌ๊ธฐ๋งŒํผ ์ฐจ์ง€ํ•˜๋Š” ์ธ๋ผ์ธ ์š”์†Œ (span, a ๋“ฑ)
inline-block ์ธ๋ผ์ธ์ฒ˜๋Ÿผ ๋ฐฐ์น˜๋˜์ง€๋งŒ ํฌ๊ธฐ ์ง€์ • ๊ฐ€๋Šฅ
none ํ™”๋ฉด์—์„œ ์•ˆ ๋ณด์ด๊ฒŒ ์ˆจ๊น€ (์‚ญ์ œ ์•„๋‹˜)

6๏ธโƒฃ position ์†์„ฑ ์ •๋ฆฌ

์š”์†Œ์˜ ์œ„์น˜๋ฅผ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์€ static์ด์—์š”.

๊ฐ’ ์„ค๋ช…
static ๊ธฐ๋ณธ ์œ„์น˜ (ํ๋ฆ„ ๊ทธ๋Œ€๋กœ)
relative ์ž๊ธฐ ์œ„์น˜ ๊ธฐ์ค€์œผ๋กœ ์ด๋™
absolute ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด position: relative ์กฐ์ƒ ๊ธฐ์ค€์œผ๋กœ ์ด๋™
fixed ํ™”๋ฉด ๊ธฐ์ค€ ๊ณ ์ • (์Šคํฌ๋กคํ•ด๋„ ์œ„์น˜ ๊ณ ์ •๋จ)
sticky ํŠน์ • ์œ„์น˜์— ๋„๋‹ฌํ•˜๋ฉด ๊ณ ์ • (์Šคํฌ๋กค ํšจ๊ณผ์™€ ๊ฒฐํ•ฉ๋จ)
.box {
  position: absolute;
  top: 100px;
  left: 50px;
}

๋งˆ๋ฌด๋ฆฌ โœจ

CSS๋Š” ์ฒ˜์Œ์—” ์–ด๋ ค์›Œ ๋ณด์ด์ง€๋งŒ, ํ•˜๋‚˜์”ฉ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ ์ตํžˆ๋‹ค ๋ณด๋ฉด ๋ถ„๋ช… ๊ฐ์ด ์™€์š”.

์ด๋ฒˆ ๊ธ€์—์„œ๋Š” CSS์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•๊ณผ ์„ ํƒ์ž, ๋ฐ•์Šค ๋ชจ๋ธ, display/position ๋“ฑ ๋ ˆ์ด์•„์›ƒ๊ณผ ๊ด€๋ จ๋œ ํ•„์ˆ˜ ์†์„ฑ๋“ค์„ ๋‹ค๋ค„๋ดค์–ด์š”.

 

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Flexbox์™€ Grid๋ฅผ ํ™œ์šฉํ•œ ์‹ค์ œ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ์‚ดํŽด๋ณผ ์˜ˆ์ •์ด์—์š”!

๋ฐ˜์‘ํ˜•