์ ํ์(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