์ ํ์(Selector) - 1ํธ
โ๏ธ ํด๋น ๊ธ์ ํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์์์ HTML & CSS, SASS(SCSS) Part์ ๋ฐ์์ ๊ฐ์ฌ๋์ ๊ฐ์์๋ฃ๋ฅผ ์ ๋ฆฌํ ๊ฒ์ ๋๋ค.
#
๊ธฐ๋ณธ ์ ํ์(Basic Selectors)#
์ ์ฒด ์ ํ์(Universal Selector)๋ชจ๋ ์์๋ฅผ ์ ํ
* { color: red;}
<div> <!--์ ํ--> <ul> <!--์ ํ--> <li>์ฌ๊ณผ</li> <!--์ ํ--> <li>๋ธ๊ธฐ</li> <!--์ ํ--> <li>์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <!--์ ํ--> <p>ํ ๋งํ </p> <!--์ ํ--> <span>์ค๋ ์ง</span ><!--์ ํ--></div>
#
ํ๊ทธ ์ ํ์(Type Selector)๊ฐ์ ํ๊ทธ ์ด๋ฆ์ ๊ฐ์ง ๋ชจ๋ ์์๋ฅผ ์ ํ
li { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <!--์ ํ--> <li>๋ธ๊ธฐ</li> <!--์ ํ--> <li>์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span>์ค๋ ์ง</span></div>
#
ํด๋์ค ์ ํ์(Class Selector)๊ฐ์ class
์์ฑ์ ๊ฐ์ ๊ฐ์ง ๋ชจ๋ ์์ ์ ํ
.orange { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <li>๋ธ๊ธฐ</li> <li class="orange">์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span class="orange">์ค๋ ์ง</span> <!--์ ํ--></div>
#
์์ด๋ ์ ํ์(ID Selector)๊ฐ์ id
์์ฑ ๊ฐ์ ๊ฐ์ง ์์ ์ ํ
#orange { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <li>๋ธ๊ธฐ</li> <li id="orange" class="orange">์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span class="orange">์ค๋ ์ง</span></div>
ํ
id
์ ํ์ ๊ฐ์ HTML ๋ฌธ์์ ํ๋ฒ๋ง ์ฌ์ฉ๋์ด์ผ ํ๋ค.
#
๋ณตํฉ ์ ํ์(Combinators)#
์ผ์น ์ ํ์(Basic Combinator)๋ ์ ํ์ ์กฐ๊ฑด์ ๋์์ ๋ง์กฑํ๋ ์์ ์ ํ
span.orange { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <li>๋ธ๊ธฐ</li> <li id="orange" class="orange">์ค๋ ์ง</li> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span class="orange">์ค๋ ์ง</span> <!--์ ํ--></div>
#
์์ ์ ํ์(Child Combinator)์์์ ์์ ์ค์์ ์ ํ
ul > .orange { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <li>๋ธ๊ธฐ</li> <li id="orange" class="orange">์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span class="orange">์ค๋ ์ง</span></div>
#
ํ์(ํ์) ์ ํ์(Descendant Combinator)์์์ ํ์(ํ์)์ธ ์์ ์ค์์ ์ ํ
div .orange { color: red;}
<div> <ul> <li>์ฌ๊ณผ</li> <li>๋ธ๊ธฐ</li> <li id="orange" class="orange">์ค๋ ์ง</li> <!--์ ํ--> </ul> <div>๋น๊ทผ</div> <p>ํ ๋งํ </p> <span class="orange">์ค๋ ์ง</span> <!--์ ํ--></div>
#
์ธ์ ํ์ ์ ํ์(Adjacent Sibling Combinator)์์์ ๋ค์(next) ํ์ ์์ ํ๋๋ฅผ ์ ํ
/* .orange์ ๋ค์์ ์๋ li ํ๋๋ง ์ ํ */.orange + li { color: red;}
<ul> <li>๋ธ๊ธฐ</li> <li>์๋ฐ</li> <li class="orange">์ค๋ ์ง</li> <li>๋ง๊ณ </li> <!--์ ํ--> <li>์ฌ๊ณผ</li></ul>
#
์ผ๋ฐ ํ์ ์ ํ์(General Sibling Combinator)์์์ ๋ค์(next)์ ๋ชจ๋ ํ์ ์์ ์ค ์ ํ
/* .orange์ */.orange ~ li { color: red;}
<ul> <li>๋ธ๊ธฐ</li> <li>์๋ฐ</li> <li class="orange">์ค๋ ์ง</li> <li>๋ง๊ณ </li> <!--์ ํ--> <li>์ฌ๊ณผ</li> <!--์ ํ--></ul>
CSS์์์ ์์(child), ํ์(descendant), ํ์ (sibling) ์ ์
- ์์(child) : ์์์ 1๋จ๊ณ(1-depth) ํ์ ์์
- ํ์(descendant) : ์์ ๋ด์ ๋ชจ๋ ํ์ ์์
- ํ์ (sibling) : ์์์ ๊ฐ์ ๋จ๊ณ์ ์์
#
Referenceํจ์คํธ์บ ํผ์ค - ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ฐ์ - HTML & CSS, SASS(SCSS) Part by ParkYoungWoong