Cascading์ ๋ํด ์์๋ณด๊ธฐ ์ ์, CSS ๊ฐ ๋ฌด์์ ์ฝ์์ธ์ง๋ถํฐ ์ดํด๋ณด์.
CSS ๋ Cascading Style Sheet ์ ์ฝ์์ด๋ค.
Style์ ๋ง ๊ทธ๋๋ก ์คํ์ผ, Sheet๋ ํ ํ์ด์ง๋ฅผ ๋ปํ๋๊น
Style Sheet๋ ์ฌ๋ฌ ์คํ์ผ์ด ํ ํ์ด์ง์ ๋ชจ์ฌ ์๋ ํํ๋ผ๊ณ ์ดํด๊ฐ ๋๋๋ฐโฆ 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)
๊ฐ ์คํ์ผ ๊ท์น์ด ์ผ๋ง๋ ๊ตฌ์ฒด์ ์ธ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ์ฐ์ ์์๋ฅผ ๊ณ์ฐํ๋ค.
์ฆ, ๋ ๊ตฌ์ฒด์ ์ธ ์ ํ์๊ฐ ๋ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ค.
๊ตฌ์ฒด์ ์ธ ์ ํ์๋ฅผ ์์๋๋ก ๋ํ๋ด๋ฉด ์๋์ ๊ฐ๋ค.
์ธ๋ผ์ธ ์คํ์ผ > id ์ ํ์ > ํด๋์ค, ์์ฑ, ๊ฐ์ ํด๋์ค > ์์ ์ ํ์, ๊ฐ์ ์์ > ์ ์ฒด ์ ํ์
์์ ์๋ ์ ํ์์ผ์๋ก ๋ช ์๋๊ฐ ๋๋ค.
์ฝ๊ฒ ๋น๊ตํ๋ ค๋ฉด ๊ฐ ์คํ์ผ์ ์ ์๋ฅผ ์ค์ ํด, ๋ ๋์ ์ ์๋ฅผ ๊ฐ์ง ์คํ์ผ์ ์ฐ์ ์ผ๋ก ์ ์ฉํ๋ฉด ๋๋ค!
| ์ ํ์ ์ ํ | ์ ์ ๊ณ์ฐ๋ฒ |
|---|---|
์ธ๋ผ์ธ ์คํ์ผ (style="") | 1000์ |
ID ์ ํ์ (#id) | 100์ |
ํด๋์ค, ์์ฑ, ๊ฐ์ ํด๋์ค (.class, [type="text"], :hover) | 10์ |
์์ ์ ํ์ (div, h1, p), ๊ฐ์ ์์ (::before, ::after) | 1์ |
์ ์ฒด ์ ํ์ (*), ์์๋ ์คํ์ผ | 0์ |
์ฝ๋ ์์ ๋ ์ฝ๋์์ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ฑ์ฅํ ์์ฑ์ ์ต์ฐ์ ์ผ๋ก ์ ์ฉํ๋ค๋ ๊ฒ์ด๋ค.
์๋ ์์ ๋ฅผ ๋ณด์.
<p>
What is Cascading?
</p>
p {
color: blue;
}
p {
color: red;
}
p ํ๊ทธ์ ๋ํด color: blue; ์ color: red; ๊ฐ ์ ์ธ๋์์ง๋ง,
color: red;๊ฐ ๋์ค์ ์ ์ธ๋์๊ธฐ ๋๋ฌธ์ ์ต์ข
์ ์ผ๋ก๋ What is Cascading? ์ ๋นจ๊ฐ์์ด ๋๋ค.
!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 ๊ท์น์ด ์ง์ผ์ก๋์ง ํ์ธํ๋ฉด ๋๊ฒ ๋ค.