| ์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- ํดํ ์ด๋ธ์ค์น
- ๊ฐ๋จ๋จน์๊ณณ
- ๋ฐ๋ ผ400
- ๊ฐ๋ฐ์ ์คํ
- ์จ์ด๋ธ๊ตฌ๋
- ssg๋๊ณก์
- ์กฐ์ ํฐ๋ฆฌ์ค
- dp400
- ์ ํ์์น์ค๊ทธ
- ์๋จ
- ์์ด์ ํ๋ธ
- English
- Movie
- ์กด์ผ
- ๋ทํ๋ฆญ์ค
- ์์ด๊ณต๋ถ
- ssgํธ๋๋ง์ผ๋๊ณก์
- ์์ดํฐ
- ํดํ ์ด๋ธ์คํผ์ปค์ฐ๊ฒฐ
- ์ ํ์์น์ค์ง
- ์ํ์ถ์ฒ์ ํ๋ฒ
- ์ํ์ถ์ฒ
- ์์ด๋ฌธ๋ฒ
- ํฌ๋งํ์
- ์์ด์ ํ๋ธ์ถ์ฒ
- ์ํ์ถ์ฒ์ ํ๋ธ
- ์ํผ๋ฐ
- ์ง๋ฎค๋น
- Netflix
- ์ฝ์คํ์ค๋ทํ
- Today
- Total
๋ฆฌ์
[Web Front]์น ๊ตฌ์กฐ์ ์๊ฐ์ ํํ์ ์ ํ๋ ์ธ์ด CSS ๋ณธ๋ฌธ
[Web Front]์น ๊ตฌ์กฐ์ ์๊ฐ์ ํํ์ ์ ํ๋ ์ธ์ด CSS
๋ฆฌ์ ๐ซง 2026. 6. 22. 09:11CSS(Cascading Style Sheets)
HTML ๋ฌธ์์ ์๊ฐ์ ํํ(์คํ์ผ) ์ ์ ํ๋ ์ธ์ด์ด๋ค.
- HTML์ด ๋ฌธ์์ ๋ผ๋(๊ตฌ์กฐ)๋ฅผ ์ ์ํ๋ค๋ฉด, CSS๋ ๊ทธ ์์ ์์, ๊ธ๊ผด, ๊ฐ๊ฒฉ, ๋ ์ด์์, ์ ๋๋ฉ์ด์ ๋ฑ์ ๋ํด ์ฌ์ฉ์๊ฐ ๋ณด๊ธฐ ํธํ ํ๋ฉด์ ๋ง๋ ๋ค.
- ์ด๋ฆ์ Cascading์ ์ฌ๋ฌ ์คํ์ผ ๊ท์น์ด ๊ฒน์ณค์ ๋, ์ฐ์ ์์์ ์์ค์ ์ ์ธ ์์์ ๋ฐ๋ผ ์ต์ข ์ ์ผ๋ก ์ ์ฉ๋๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
- ์ฆ, CSS๋ ์น์ฌ์ดํธ๋ฅผ ๋จ์ํ ํ ์คํธ ๊ตฌ์กฐ์์ ์์ฑ๋ ๋์์ธ ํ๋ฉด์ผ๋ก ๋ฐ๊ฟ์ฃผ๋ ์ญํ ์ ํ๋ค.
CSS ์ ์ฉ ๋ฐฉ๋ฒ 3๊ฐ์ง
- ์ธ๋ผ์ธ ์คํ์ผ
- HTML ํ๊ทธ์ style ์์ฑ ์์ ์ง์ ์์ฑํ๋ ๋ฐฉ์
- ์ฅ์ : ๊ฐ๋จํ ํ ์คํธ๋ ํน์ ์์์๋ง ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅ
- ๋จ์ : ์ฝ๋๊ฐ ์ง์ ๋ถํด์ง๊ณ ์ ์ง๋ณด์ ์ด๋ ค์
- ์์: ๋ฒํผ ํ๋์ ๊ธ์์๋ง ๊ธํ๊ฒ ๋ฐ๊ฟ ๋ ์ฌ์ฉ
- → <button style="color:red;">์ญ์ </button>
- ๋ด๋ถ ์คํ์ผ(Internal)
- <head> ์์ <style> ํ๊ทธ์ ์์ฑํ์ฌ ๋ฌธ์ ์ ์ฒด์ ์ ์ฉ
- ์ฅ์ : ํ ๋ฌธ์ ์์์ ๋น ๋ฅด๊ฒ ์คํ์ผ๋ง ๊ฐ๋ฅ
- ๋จ์ : ์ฌ๋ฌ HTML ํ์ผ์ ๋์ผํ ์คํ์ผ์ ์ ์ฉํ๊ธฐ ์ด๋ ค์
- ์์: ๋จ์ผ ํ์ด์ง ๊ณผ์ ์์ ์ ๋ชฉ ์์, ๋ณธ๋ฌธ ํฐํธ๋ฅผ ์ง์ ํ ๋
- ์ธ๋ถ ์คํ์ผ(External)
- ๋ณ๋์ .css ํ์ผ์ ๋ง๋ค๊ณ <link> ํ๊ทธ๋ก HTML๊ณผ ์ฐ๊ฒฐ
- ์ฅ์ : ์ฌ๋ฌ ํ์ด์ง์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ, ์ ์ง๋ณด์์ ํ์ ์ ์ ๋ฆฌ
- ๋จ์ : ํ์ผ์ ๋ฐ๋ก ๊ด๋ฆฌํด์ผ ํจ
- ์์: ํ์ฌ ์น์ฌ์ดํธ ์ ์ฒด์ ํต์ผ๋ ์์/๋ ์ด์์์ ์ ์ฉํ ๋
→ ์ค๋ฌด์์๋ ์ธ๋ถ ์คํ์ผ ๋ฐฉ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
CSS ์ ์ฉ ๋ฐฉ๋ฒ 3๊ฐ์ง
- ์ธ๋ผ์ธ ์คํ์ผ
- HTML ํ๊ทธ์ style ์์ฑ ์์ ์ง์ ์์ฑํ๋ ๋ฐฉ์
- ์ฅ์ : ๊ฐ๋จํ ํ ์คํธ๋ ํน์ ์์์๋ง ๋ฐ๋ก ์ ์ฉ ๊ฐ๋ฅ
- ๋จ์ : ์ฝ๋๊ฐ ์ง์ ๋ถํด์ง๊ณ ์ ์ง๋ณด์ ์ด๋ ค์
- ์์: ๋ฒํผ ํ๋์ ๊ธ์์๋ง ๊ธํ๊ฒ ๋ฐ๊ฟ ๋ ์ฌ์ฉ
- → <button style="color:red;">์ญ์ </button>
- ๋ด๋ถ ์คํ์ผ(Internal)
- <head> ์์ <style> ํ๊ทธ์ ์์ฑํ์ฌ ๋ฌธ์ ์ ์ฒด์ ์ ์ฉ
- ์ฅ์ : ํ ๋ฌธ์ ์์์ ๋น ๋ฅด๊ฒ ์คํ์ผ๋ง ๊ฐ๋ฅ
- ๋จ์ : ์ฌ๋ฌ HTML ํ์ผ์ ๋์ผํ ์คํ์ผ์ ์ ์ฉํ๊ธฐ ์ด๋ ค์
- ์์: ๋จ์ผ ํ์ด์ง ๊ณผ์ ์์ ์ ๋ชฉ ์์, ๋ณธ๋ฌธ ํฐํธ๋ฅผ ์ง์ ํ ๋
- ์ธ๋ถ ์คํ์ผ(External)
- ๋ณ๋์ .css ํ์ผ์ ๋ง๋ค๊ณ <link> ํ๊ทธ๋ก HTML๊ณผ ์ฐ๊ฒฐ
- ์ฅ์ : ์ฌ๋ฌ ํ์ด์ง์์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ, ์ ์ง๋ณด์์ ํ์ ์ ์ ๋ฆฌ
- ๋จ์ : ํ์ผ์ ๋ฐ๋ก ๊ด๋ฆฌํด์ผ ํจ
- ์์: ํ์ฌ ์น์ฌ์ดํธ ์ ์ฒด์ ํต์ผ๋ ์์/๋ ์ด์์์ ์ ์ฉํ ๋
→ ์ค๋ฌด์์๋ ์ธ๋ถ ์คํ์ผ ๋ฐฉ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ค.
์ ํ์์ ์ฐ์ ์์
์ ํ์(Selector)
: ์ด๋ค HTML ์์์ ์คํ์ผ์ ์ ์ฉํ ์ง๋ฅผ ์๋ ค์ฃผ๋ ๊ท์น.
- ์: ํ๊ทธ ์ ํ์(p), ํด๋์ค ์ ํ์(.box), ์์ด๋ ์ ํ์(#main), ์์ฑ ์ ํ์([type=text]), ๊ฐ์ ํด๋์ค(:hover) ๋ฑ
์ฐ์ ์์ ๊ท์น
: ๊ฐ์ ์์์ ์ฌ๋ฌ ์คํ์ผ์ด ๊ฒน์น ๊ฒฝ์ฐ, ๋ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง ๊ท์น์ด ์ ์ฉ๋๋ค.
- ์ธ๋ผ์ธ ์คํ์ผ(ํ๊ทธ ์ ์ง์ ์์ฑ) → ๊ฐ์ฅ ๊ฐ๋ ฅ
- ID ์ ํ์ → ํน์ ์์ 1๊ฐ๋ง ์ง์ ํ ์ ์์ด ๊ฐํจ
- ํด๋์ค / ์์ฑ / ๊ฐ์ ํด๋์ค ์ ํ์ → ์ค๊ฐ ์ ๋
- ํ๊ทธ ์ ํ์ → ๋ฎ์
- ์ ์ฒด ์ ํ์(*) → ๊ฐ์ฅ ์ฝํจ
→ ๋์ผํ ์์ค์ ์ ํ์๊ฐ ์ถฉ๋ํ๋ฉด, ๋์ค์ ์์ฑ๋ ์คํ์ผ์ด ์ต์ข ์ ์ผ๋ก ์ ์ฉ๋๋ค.
!important: ๋ชจ๋ ์ฐ์ ์์๋ฅผ ๋ฌด์ํ๊ณ ๊ฐ์ ๋ก ์ ์ฉํ๋ ๊ท์น.
ํ์ง๋ง ์ ์ง๋ณด์์ฑ์ด ํฌ๊ฒ ๋จ์ด์ง๊ณ ๋ค๋ฅธ ๊ฐ๋ฐ์์ ํ์ ์ ํผ๋์ ์ฃผ๋ฏ๋ก ๊ผญ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํด์ผ ํ๋ค.
์์๊ณผ ์บ์ค์ผ์ด๋ฉ
- ์์: ๊ธ๊ผด, ์์ ๋ฑ ํ ์คํธ ๊ด๋ จ ์์ฑ์ ํ์ ์์์ ์ ๋ฌ๋๋ค.
- ๋น์์: ๋ ์ด์์ ๊ด๋ จ ์์ฑ(๋ง์ง, ๋ณด๋, ํฌ๊ธฐ ๋ฑ)์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์๋์ง ์๋๋ค.
- ์บ์ค์ผ์ด๋ฉ: ์ฌ๋ฌ ๊ท์น์ด ๊ฒน์น ๋ ์ฐ์ ์์ → ์์ค ์์์ ๋ฐ๋ผ ์ต์ข ๊ฒฐ๊ณผ๊ฐ ์ ํด์ง๋ค.
๋ฐ์ค ๋ชจ๋ธ(Box Model)
- ๋ชจ๋ HTML ์์๋ ์ฌ๊ฐํ ๋ฐ์ค๋ก ํํ๋๋ค.
- ๊ตฌ์กฐ: ์ฝํ ์ธ (content) → ํจ๋ฉ(padding) → ๋ณด๋(border) → ๋ง์ง(margin).
- ์ค์ ์์ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ ๋, ์ด ๋ค ๊ฐ์ง๋ฅผ ๋ชจ๋ ๊ณ ๋ คํด์ผ ํ๋ค.
- ์ ์ง๋ณด์ ํธ์๋ฅผ ์ํด ๋ณดํต box-sizing์ ์ ์ฒด ์์์ ํต์ผํ๋ค.

๋จ์์ ์์
๋จ์(Unit)
- ์ ๋ ๋จ์
- px : ํ๋ฉด์ ์ค์ ํฝ์ ์ ๊ธฐ์ค์ผ๋ก ํ ๊ณ ์ ํฌ๊ธฐ.
- ์ฅ์ : ๊ฒฐ๊ณผ๊ฐ ์์ธก ๊ฐ๋ฅ → ๋ฒํผ, ์์ด์ฝ ๊ฐ์ ๊ณ ์ ํฌ๊ธฐ ์์์ ์์ฃผ ์ฌ์ฉ.
- ๋จ์ : ํ๋ฉด ํฌ๊ธฐ·ํด์๋๊ฐ ๋ฌ๋ผ์ ธ๋ ํฌ๊ธฐ๊ฐ ๋ณํ์ง ์์.
- ์๋ ๋จ์
- % : ๋ถ๋ชจ ์์ ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น์จ ์ ์ฉ.
- em : ๋ถ๋ชจ ์์์ ๊ธ๊ผด ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์จ ์ ์ฉ.
- rem : ๋ฌธ์์ ์ต์์(html) ๊ธ๊ผด ํฌ๊ธฐ๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฐฐ์จ ์ ์ฉ → ์ค๋ฌด์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ (์ผ๊ด๋ ๊ธ์ ํฌ๊ธฐ์ ๊ฐ๊ฒฉ ์ ์ง ๊ฐ๋ฅ).
- vw / vh : ํ๋ฉด(viewport)์ ๋๋น/๋์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํผ์ผํธ ์ ์ฉ → ํ๋ฉด ์ ์ฒด ๋ฐฐ๊ฒฝ, ๋ฐ์ํ ๋ ์ด์์์ ํ์ฉ.
์์(Color)
- ํํ ๋ฐฉ์
- HEX(16์ง์) : #RRGGBB ํํ → ์น์์ ๊ฐ์ฅ ํํ ์ฌ์ฉ๋จ.
- RGB : rgb(255, 0, 0) ํํ, ๋นจ๊ฐ/์ด๋ก/ํ๋ ๊ฐ ์ง์ .
- HSL : ์์(Hue), ์ฑ๋(Saturation), ๋ช ๋(Lightness)๋ก ์ง์ → ์์กฐ๋ฅผ ์กฐ์ ํ๊ธฐ ํธ๋ฆฌ.
- ํฌ๋ช
๋(Alpha ๊ฐ)
- rgba, hsla ๋ฑ ์ํ ์ฑ๋์ ์ถ๊ฐํด ๋ถํฌ๋ช ๋(0~1) ์ง์ ๊ฐ๋ฅ.
- ์: ๋ฒํผ ํธ๋ฒ ์ ์ด์ง ๋ฐํฌ๋ช ํ ๋ฐฐ๊ฒฝ, ์ค๋ฒ๋ ์ด ํจ๊ณผ์ ํ์ฉ.
๋ ์ด์์
- display
- ์์๊ฐ ํ๋ฉด์ ๋ฐฐ์น๋๋ ๊ธฐ๋ณธ ๋ฐฉ์์ ๊ฒฐ์ ํ๋ ์์ฑ.
- block์ ์ค๋ฐ๊ฟ์ด ๋๋ ํฐ ๋ฉ์ด๋ฆฌ(์: <div>), inline์ ํ ์ค ์์ ์ด์ด ๋ถ๋ ์์(์: <span>).
- ์ต์ ์น์์๋ flex์ grid๊ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ, ๋ณต์กํ ๋ ์ด์์์ ํจ์จ์ ์ผ๋ก ๊ตฌํํ ์ ์๋ค.
- position
- ์์๋ฅผ ๋ฌธ์ ๋ด์์ ๋ฐฐ์นํ๋ ๋ฐฉ์.
- static(๊ธฐ๋ณธ ํ๋ฆ), relative(์๊ธฐ ์์น ๊ธฐ์ค ์ด๋), absolute(์์ ๊ธฐ์ค ์์น ๊ณ ์ ), fixed(๋ธ๋ผ์ฐ์ ํ๋ฉด ๊ณ ์ ), sticky(์คํฌ๋กค์ ๋ฐ๋ผ ์๋/๊ณ ์ ํผํฉ).
- ์: ์๋จ ๋ค๋น๊ฒ์ด์ ๊ณ ์ , ๋ฒํผ์ ๋ฑ์ง ํ์ ๋ฑ ๋ค์ํ UI์์ ํ์ฉ.
- float
- ์๋๋ ํ ์คํธ ์ฃผ์์ ์ด๋ฏธ์ง๋ฅผ ๋ฐฐ์นํ๊ธฐ ์ํ ์์ฑ์ด์์.
- ๊ณผ๊ฑฐ์๋ ๋ ์ด์์ ๊ตฌํ(์ปฌ๋ผ ๊ตฌ์กฐ ๋ฑ)์๋ ์์ฃผ ์ฐ์์ง๋ง, ํ์ฌ๋ Flexbox์ Grid ๋ฑ์ฅ์ผ๋ก ์ ํ์ ์ฉ๋(์ด๋ฏธ์ง ๋ฐฐ์น ๋ฑ) ์๋ง ์ฌ์ฉ๋๋ค.
- Flexbox (Flexible Box)
- 1์ฐจ์(๊ฐ๋ก ํน์ ์ธ๋ก ๋ฐฉํฅ) ๋ ์ด์์์ ๊ฐ๋ ฅ.
- ์ํ/์์ง ์ ๋ ฌ, ์์ ๊ฐ ๊ฐ๊ฒฉ ์กฐ์ , ๊ณต๊ฐ ๋ถ๋ฐฐ๊ฐ ๊ฐ๋จํด์ง.
- ์: ๋ค๋น๊ฒ์ด์ ๋ฉ๋ด, ๋ฒํผ ๊ทธ๋ฃน, ์นด๋ ๋์ด ๋ฑ.
- Grid
- 2์ฐจ์(ํ๊ณผ ์ด ๋์์) ๋ ์ด์์์ ๊ด๋ฆฌ.
- ๋ณต์กํ ํ์ด์ง ๊ตฌ์กฐ(ํค๋/์ฌ์ด๋๋ฐ/๋ฉ์ธ/ํธํฐ ๋ฑ)๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๋ฐฐ์น ๊ฐ๋ฅ.
- ์: ๋์๋ณด๋, ๊ฐค๋ฌ๋ฆฌ, ์ก์งํ ๋ ์ด์์.

'๊ฐ๋ฐ์ ํธ์์ธ > Front' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| CSS ์ฝ๋์ ์น์ฌ์ดํธ์ ๊ตฌ์กฐ (0) | 2026.06.24 |
|---|---|
| Visual Studio Code ์ค์ต๋ฌธ์ ํบ์๋ณด๊ธฐ (0) | 2026.06.22 |
| [CSS] "์์๋ ์ด๋ ต๊ณ ๋ฐฐ์๋ ์ฝ๋ค" ๋ ๋ฌด์จ ๋ป์ผ๊น? / Relation ์ดํดํ๊ธฐ (0) | 2026.06.22 |
| [Web Front 2] HTML ๊ธฐ์ด (0) | 2026.06.18 |
| [Web Front 1] ์น์ ๊ตฌ์ฑํ๋ ๊ธฐ๋ณธ๊ตฌ์กฐ HTML (0) | 2026.06.18 |
