CSS) Cascading ์ด๋ž€?

G_Newยท2025๋…„ 2์›” 21์ผ

CSS

๋ชฉ๋ก ๋ณด๊ธฐ
1/7
post-thumbnail

Cascading์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „์—, CSS ๊ฐ€ ๋ฌด์—‡์˜ ์•ฝ์ž์ธ์ง€๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž.

CSS์˜ full name

CSS ๋Š” Cascading Style Sheet ์˜ ์•ฝ์ž์ด๋‹ค.

Style์€ ๋ง ๊ทธ๋Œ€๋กœ ์Šคํƒ€์ผ, Sheet๋Š” ํ•œ ํŽ˜์ด์ง€๋ฅผ ๋œปํ•˜๋‹ˆ๊นŒ

Style Sheet๋Š” ์—ฌ๋Ÿฌ ์Šคํƒ€์ผ์ด ํ•œ ํŽ˜์ด์ง€์— ๋ชจ์—ฌ ์žˆ๋Š” ํ˜•ํƒœ๋ผ๊ณ  ์ดํ•ด๊ฐ€ ๋˜๋Š”๋ฐโ€ฆ Cascading??

Cascading์˜ ์‚ฌ์ „์  ์˜๋ฏธ

Cascade ๋Š” ํญํฌ๋ผ๋Š” ๋œป์˜ ๋‹จ์–ด์ด๋‹ค.

์ฆ‰, Cascading์€ ํญํฌ์ฒ˜๋Ÿผ ์œ„์—์„œ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๋œป์œผ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด๊ฒŒ ๋ฌด์Šจ ๋œป์ด๋ƒ๋ฉด..

์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ•œ๋ฒˆ ๋ณด์ž.

<div style="color: black">
    <h1 style="color: red;">What is Cascading?</h1>
</div>

Quiz. ์—ฌ๊ธฐ์„œ What is Cascading? ์€ ๋ฌด์Šจ ์ƒ‰์ผ๊นŒ??

ํ˜„์žฌ What is Cascading? ์€ h1 ํƒœ๊ทธ ์•ˆ์— ์†ํ•ด์žˆ์œผ๋ฉด์„œ, div ํƒœ๊ทธ ์•ˆ์—๋„ ์†ํ•ด์žˆ๋‹ค.

h1 ์€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ, div ๋Š” ๊ฒ€์ •์ƒ‰์œผ๋กœ ์„ค์ •๋˜์–ด์žˆ๋Š”๋ฐ, What is Cascading?๋Š” ๋‘ ํƒœ๊ทธ์— ๋ชจ๋‘ ์†ํ•ด ์žˆ์–ด์„œ, ์–ด๋–ค ํƒœ๊ทธ์˜ ์Šคํƒ€์ผ์„ ๋”ฐ๋ผ์•ผ ํ• ์ง€ ์ฐธ ๋ชจํ˜ธํ•˜๋‹ค.

๋”ฐ๋ผ์„œ, CSS๋Š” ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋„๋ก ๊ทœ์น™์„ ์„ธ์› ๊ณ , ๊ทธ๊ฒŒ ๊ณง Cascading ๋ฐฉ์‹์ด๋‹ค.

์ฆ‰, Cascading์ด๋ž€ ๋ช‡ ๊ฐ€์ง€ ์›์น™์— ๋”ฐ๋ผ ์Šคํƒ€์ผ์ด ์ ์šฉ๋˜๋Š” ๋ฐฉ์‹์„ ์˜๋ฏธํ•˜๋ฉฐ, ์›์น™์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์Šคํƒ€์ผ ์šฐ์„ ์ˆœ์œ„
  • ์Šคํƒ€์ผ ์ƒ์†

์Šคํƒ€์ผ ์šฐ์„ ์ˆœ์œ„

์—ฌ๋Ÿฌ ์Šคํƒ€์ผ์ด ๋™์ผํ•œ ์š”์†Œ์— ์ ์šฉ๋  ๋•Œ, ์–ด๋–ค ์Šคํƒ€์ผ์ด ์ตœ์ข…์ ์œผ๋กœ ์ ์šฉ๋ ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ๊ธฐ์ค€์ด๋‹ค!

์•„๋ž˜ 3๊ฐ€์ง€ ์š”์†Œ๋ฅผ ํ†ตํ•ด ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์ •ํ•ด์ง„๋‹ค.

1๏ธโƒฃ ๋ช…์‹œ๋„ (Specificity)

2๏ธโƒฃ ์ฝ”๋“œ ์ˆœ์„œ (Source Order)

3๏ธโƒฃ ์ค‘์š”๋„ (!important)


๋ช…์‹œ๋„ (Specificity)

๊ฐ ์Šคํƒ€์ผ ๊ทœ์น™์ด ์–ผ๋งˆ๋‚˜ ๊ตฌ์ฒด์ ์ธ์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค.

์ฆ‰, ๋” ๊ตฌ์ฒด์ ์ธ ์„ ํƒ์ž๊ฐ€ ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค.

๊ตฌ์ฒด์ ์ธ ์„ ํƒ์ž๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

์ธ๋ผ์ธ ์Šคํƒ€์ผ > id ์„ ํƒ์ž > ํด๋ž˜์Šค, ์†์„ฑ, ๊ฐ€์ƒ ํด๋ž˜์Šค > ์š”์†Œ ์„ ํƒ์ž, ๊ฐ€์ƒ ์š”์†Œ > ์ „์ฒด ์„ ํƒ์ž

์•ž์— ์žˆ๋Š” ์„ ํƒ์ž์ผ์ˆ˜๋ก ๋ช…์‹œ๋„๊ฐ€ ๋†’๋‹ค.

์‰ฝ๊ฒŒ ๋น„๊ตํ•˜๋ ค๋ฉด ๊ฐ ์Šคํƒ€์ผ์— ์ ์ˆ˜๋ฅผ ์„ค์ •ํ•ด, ๋” ๋†’์€ ์ ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์Šคํƒ€์ผ์„ ์šฐ์„ ์œผ๋กœ ์ ์šฉํ•˜๋ฉด ๋œ๋‹ค!

์„ ํƒ์ž ์œ ํ˜•์ ์ˆ˜ ๊ณ„์‚ฐ๋ฒ•
์ธ๋ผ์ธ ์Šคํƒ€์ผ (style="")1000์ 
ID ์„ ํƒ์ž (#id)100์ 
ํด๋ž˜์Šค, ์†์„ฑ, ๊ฐ€์ƒ ํด๋ž˜์Šค (.class, [type="text"], :hover)10์ 
์š”์†Œ ์„ ํƒ์ž (div, h1, p), ๊ฐ€์ƒ ์š”์†Œ (::before, ::after)1์ 
์ „์ฒด ์„ ํƒ์ž (*), ์ƒ์†๋œ ์Šคํƒ€์ผ0์ 

์ฝ”๋“œ ์ˆœ์„œ (Source Order)

์ฝ”๋“œ ์ˆœ์„œ ๋ž€ ์ฝ”๋“œ์—์„œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋“ฑ์žฅํ•œ ์†์„ฑ์„ ์ตœ์šฐ์„ ์œผ๋กœ ์ ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

์•„๋ž˜ ์˜ˆ์ œ๋ฅผ ๋ณด์ž.

<p>
    What is Cascading?
</p>
p {
  color: blue;
}

p {
  color: red;
}

p ํƒœ๊ทธ์— ๋Œ€ํ•ด color: blue; ์™€ color: red; ๊ฐ€ ์„ ์–ธ๋˜์—ˆ์ง€๋งŒ,

color: red;๊ฐ€ ๋‚˜์ค‘์— ์„ ์–ธ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ข…์ ์œผ๋กœ๋Š” What is Cascading? ์€ ๋นจ๊ฐ„์ƒ‰์ด ๋œ๋‹ค.

์ค‘์š”๋„ (!important)

!important ๊ฐ€ ๋ถ™์€ ์Šคํƒ€์ผ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๊ฐ•์ œ๋กœ ์ ์šฉ๋œ๋‹ค.

ํ•˜์ง€๋งŒ, !important ๋ผ๋ฆฌ ์ถฉ๋Œํ•˜๋ฉด Specificity(๋ช…์‹œ๋„)๊ฐ€ ๋†’์€ ์ชฝ์ด ์ ์šฉ๋œ๋‹ค.

<p>
    What is Cascading?
</p>
p {
  color: blue !important;
}

p {
  color: red;
}

p ํƒœ๊ทธ์— ๋Œ€ํ•ด color: blue; ์™€ color: red; ๊ฐ€ ์„ ์–ธ๋˜์—ˆ๋‹ค.

color: red;๊ฐ€ ๋‚˜์ค‘์— ์„ ์–ธ๋˜์—ˆ์ง€๋งŒ, color: blue; ์— !important ๊ฐ€ ๋ถ™์—ˆ๋‹ค!

๋”ฐ๋ผ์„œ ์ตœ์ข…์ ์œผ๋กœ What is Cascading? ์€ ํŒŒ๋ž€์ƒ‰์ด ๋œ๋‹ค.

์Šคํƒ€์ผ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ฅธ ์˜ˆ์ œ

๋ช‡ ๊ฐ€์ง€ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด ์•ž์„œ ๋ฐฐ์šด ์Šคํƒ€์ผ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•˜์—ฌ, ์ ์šฉ๋  ์Šคํƒ€์ผ์„ ์ƒ๊ฐํ•ด๋ณด์ž.

( html ์€ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ฒ ์Œ. )

๐Ÿ”น ์˜ˆ์ œ

h1 { color: red; }  /* 1์  */
.title { color: blue; }  /* 10์  */
#main-title { color: green; }  /* 100์  */

โœ… #main-title (100์ )์ด ๊ฐ€์žฅ ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ color: green; ์ ์šฉ๋จ.


๐Ÿ”น ์˜ˆ์ œ 2

h1 { color: red; }  /* 1์  */
h1.title { color: blue; }  /* (1 + 10) = 11์  */
#main-title { color: green; }  /* 100์  */

โœ… #main-title์ด ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜(100์ )๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ color: green; ์ ์šฉ๋จ.



๐Ÿ”น ์˜ˆ์ œ 3

div button { background-color: gray; }  /* (1 + 1) = 2์  */
div .button { background-color: blue; }  /* (1 + 10) = 11์  */
div #submit-button { background-color: green; }  /* (1 + 100) = 101์  */

โœ… div #submit-button์ด ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜(101์ )๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ background-color: green; ์ ์šฉ๋จ.


๐Ÿ”น ์˜ˆ์ œ 4

#nav .menu { color: red; }  /* (100 + 10) = 110์  */
#sidebar .menu { color: blue; }  /* (100 + 10) = 110์  */

๋ช…์‹œ๋„๊ฐ€ ๊ฐ™๋‹ค!!! ์ด๋Ÿด ๋• ์ฝ”๋“œ ์ˆœ์„œ (Source order)์— ๋”ฐ๋ผ ๋‚˜์ค‘์— ์„ ์–ธ๋œ ์Šคํƒ€์ผ์ด ์ ์šฉ๋œ๋‹ค.

์ฆ‰, #sidebar .menu๊ฐ€ ๋” ์•„๋ž˜์— ์„ ์–ธ๋˜์—ˆ์œผ๋ฏ€๋กœ color: blue; ์ ์šฉ๋จ.


๐Ÿ”น ์˜ˆ์ œ 6

p { color: red !important; }  /* 1์  + ์ค‘์š”๋„ */
p.text { color: blue; }  /* 10์  */

color: red์˜ ๋ช…์‹œ๋„๋Š” ๋‚ฎ์ง€๋งŒ, ๋’ค์— !important ๊ฐ€ ๋ถ™์—ˆ๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ color: red;๊ฐ€ !important ๋•Œ๋ฌธ์— ๊ฐ•์ œ ์ ์šฉ๋œ๋‹ค.

(๋ช…์‹œ๋„๊ฐ€ ๋‚ฎ์•„๋„ !important๊ฐ€ ๋ถ™์œผ๋ฉด ๋ฌด์กฐ๊ฑด ์šฐ์„  ์ ์šฉ)


์Šคํƒ€์ผ ์ƒ์†

์Šคํƒ€์ผ ์ƒ์†์€ ํƒœ๊ทธ๋“ค์ด ์–ด๋–ป๊ฒŒ ํฌํ•จ๋˜์—ˆ๋Š”์ง€์— ๋”ฐ๋ผ์„œ ์Šคํƒ€์ผ์„ ์ ์šฉํ•  ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์›์น™์ด๋‹ค.

๋ฐ”๊นฅ์ชฝ์˜ ํƒœ๊ทธ๋ฅผย ๋ถ€๋ชจ ์š”์†Œ, ๋‚ด๋ถ€์˜ ํƒœ๊ทธ๋ฅผย ์ž์‹ ์š”์†Œ๋ผ๊ณ  ํ•˜๋Š”๋ฐ,

์ƒ์† ์š”์†Œ๋Š” ๋ถ€๋ชจ ์š”์†Œ์˜ ์Šคํƒ€์ผ์„ ์ž์‹ ์š”์†Œ๊ฐ€ ๋”ฐ๋ผ๊ฐ€๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

์•„๋ž˜ ์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ณด์ž

<div style="color: red">
    <h1>What is Cascading?</h1>
</div>

์ด ์ฝ”๋“œ์—์„œ๋Š” <div> ๊ฐ€ ๋ถ€๋ชจ ์š”์†Œ ์ด๋ฉฐ, <h1> ๊ฐ€ ์ž์‹ ์š”์†Œ ์ด๋‹ค.

๋ถ€๋ชจ ์š”์†Œ์˜ ์Šคํƒ€์ผ์„ ์ž์‹ ์š”์†Œ๊ฐ€ ๋”ฐ๋ผ๊ฐ„๋‹ค๊ณ  ํ–ˆ์œผ๋ฏ€๋กœ, What is Cascading? **์—๋Š” **๋ถ€๋ชจ ์š”์†Œ์˜ ์˜ํ–ฅ์œผ๋กœ color: red;๊ฐ€ ์ ์šฉ๋  ๊ฒƒ์ด๋‹ค.


์ •๋ฆฌ

์ด๋ ‡๊ฒŒ CSS์—์„œ๋Š” ์šฐ์„ ์ˆœ์œ„์™€ ์ƒ์†์„ ํ†ตํ•ด ์–ด๋–ค ์Šคํƒ€์ผ์ด ์ ์šฉ๋  ์ง€ ๊ฒฐ์ •๋œ๋‹ค.

์•ž์œผ๋กœ CSS๋ฅผ ๋‹ค๋ฃจ๋‹ค๊ฐ€ ์›ํ•˜๋Š” ์†์„ฑ์ด ์ ์šฉ์ด ์•ˆ๋œ๋‹ค๋ฉด, Cascading ๊ทœ์น™์ด ์ง€์ผœ์กŒ๋Š”์ง€ ํ™•์ธํ•˜๋ฉด ๋˜๊ฒ ๋‹ค.

profile
๊ธฐ๋กํ•˜๋Š” ์Šต๊ด€ ๋งŒ๋“ค๊ธฐ๐Ÿ’ซ

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