Selector
1. κ°μ
styleλ₯Ό μ μ© νκ³ μνλ HTMLμμλ₯Ό νΉμ ν νμκ° μλ€. μ΄λ μ¬μ©νλ κ²μ΄ μ
λ ν°/μ νμ(Selector)μ΄λ€. styleλ₯Ό μ μ©νκ³ μνλ HTML μμλ₯Ό μ
λ ν°λ‘ νΉμ νκ³ μ νλ μμμ μ€νμΌμ μ μνλ κ². 볡μκ°μ μ
λ ν°λ₯Ό μ°μνμ¬ μ§μ ν μ μμΌλ©° μΌν(,)λ‘ κ΅¬λΆν¨. 
νκ·Έ(tag):
<p></p>μ κ°μ νκ·Έ μ체μμ(element):
<p>hello world</p>μμ<p>νκ·Έ λ° λ΄λΆ λΆλΆμ λͺ¨λ ν¬ν¨
<p>νκ·Έλ₯Ό μ μ©ν μ€νμΌμ΄λΌλ ννμ μ³μ§ μμ. pμμμ μ μ©νλ μ€νμΌλ‘ νννλ κ²μ΄ μ³λ°λ¦.
2. μ 체 μ
λ ν°(Universal Selector)
μ 체 μ λ ν°λ μ€νμΌμ λ¬Έμμ λͺ¨λ μμμ μ μ©ν λ μ¬μ©. html μμλ₯Ό ν¬ν¨ν μμκ° μ νλ¨.(head μμλ ν¬ν¨)
κΈ°λ³Έν * {μμ±: κ°;}
...
<head>
<style>
/* λͺ¨λ μμλ₯Ό μ ν */
* {
color: red;
}
</style>
</head>
<body>
<h1>Welcome my TIL</h1>
<p>λ°κ°μ΅λλ€.</p>
<span>μλ
νμΈμ.</span>
</body>3. νκ·Έ/νμ
μ
λ ν°(Type Selector)
νκ·Έ μ λ ν°λ νΉμ νκ·Έλ₯Ό μ¬μ©ν λͺ¨λ μμμ μ€νμΌμ μ μ©. νκ·Έ μ νμλ₯Ό μ¬μ©ν΄ μ€νμΌμ μ§μ νλ©΄ ν΄λΉ νκ·Έλ₯Ό μ¬μ©ν λͺ¨λ μμμ μ μ©.
κΈ°λ³Έν νκ·Έλͺ
{ μ€νμΌ κ·μΉ }
4. ID μ
λ ν°(ID Selector)
id μ΄νΈλ¦¬λ·°νΈ κ°μ μ§μ νμ¬ μΌμΉνλ μμλ₯Ό μ ν. id μ΄νΈλ¦¬λ·°νΈ κ°μ μ€λ³΅λ μ μλ μ μΌν κ°μ΄λ―λ‘ μ£Όλ‘ λ¬Έμμ λ μ΄μμκ³Ό κ΄λ ¨λ μ€νμΌμ μ§μ νλλ° μ¬μ©.
κΈ°λ³Έν #id μ΄νΈλ¦¬λ·°νΈ κ° { μ€νμΌ κ·μΉ }
5. ν΄λμ€ μ
λ ν°(Class Selector)
class μ΄νΈλ¦¬λ·°νΈ κ°μ μ§μ νμ¬ μΌμΉνλ μμλ₯Ό μ ν. class μ΄νΈλ¦¬λ·°νΈ κ°μ μ€λ³΅λ μ μμ.
κΈ°λ³Έν .class μ΄νΈλ¦¬λ·°νΈ κ° { μ€νμΌ κ·μΉ }
HTMLμμμ class μ΄νΈλ¦¬λ·°νΈ κ°μ 곡백μΌλ‘ ꡬλΆνμ¬ μ¬λ¬ κ° μ§μ ν μ μμ. μμ κ°μ΄ ν΄λμ€ μ λ ν°λ₯Ό μ¬μ©νμ¬ λ―Έλ¦¬ μ€νμΌμ μ μν΄ λκ³ , HTMLμμλ μ΄λ―Έ μ μλμ΄ μλ ν΄λμ€λ₯Ό μ§μ νλ κ²μΌλ‘ νμν μ€νμΌμ μ§μ ν μ μμ. μ΄λ μ¬μ¬μ©μ μΈ‘λ©΄μμ μ μ©ν¨.
Tailwind Cssμ κ°λ μ΄μ§ μμκΉ? μΆλ€. 곡μλ¬Έμ
6. μ΄νΈλ¦¬λ·°νΈ μ
λ ν°(Attribute Selector)
μ§μ λ μ΄νΈλ¦¬λ·°νΈλ₯Ό κ°λ λͺ¨λ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈλ₯Ό κ°μ§λ©° μ§μ λ κ°κ³Ό μ΄νΈλ¦¬λ·°νΈμ κ°μ΄ μΌμΉνλ λͺ¨λ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ="κ°"] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈμ κ°μ΄ (곡백μΌλ‘ λΆλ¦¬λ) λ¨μ΄λ‘ ν¬ν¨νλ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ~="κ°"] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈμ κ°κ³Ό μΌμΉνκ±°λ μ§μ μ΄νΈλ¦¬λ·°νΈ κ° λ€ μ°μ΄μ νμ΄ν°("κ°-")μΌλ‘ μμνλ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ|="κ°"] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈ κ°μΌλ‘ μμνλ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ^="κ°"] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈ κ°μΌλ‘ λλλ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ$="κ°"] { μ€νμΌ κ·μΉ }
μ§μ λ μ΄νΈλ¦¬λ·°νΈ κ°μ ν¬ν¨νλ μμλ₯Ό μ ν
κΈ°λ³Έν
μ λ ν°[μ΄νΈλ¦¬λ·°νΈ*="κ°"] { μ€νμΌ κ·μΉ }

7. λ³΅ν© μ
λ ν° (Combinator)
7-1. νμ μ
λ ν° (Descendant Combinator)
μμ μ 1 level μμμ μνλ μμλ₯Ό λΆλͺ¨ μμ, 1 level νμμ μνλ μμλ₯Ό μμ μμ(μμ μμ)λΌ ν¨. μμ λ³΄λ€ n level νμμ μνλ μνλ μμλ νμ μμ(νμ μμ)λΌ ν¨.
κΈ°λ³Έν μ
λ ν°A μ
λ ν°B { μ€νμΌ κ·μΉ }
paragraph 4λ₯Ό μ μΈν λλ¨Έμ§ κ²λ€μ μ€νμΌμ΄ μ μ©λ¨.
7-2. μμ μ
λ ν° (Child Combinator)
μμ μ λ ν°λ μ λ ν°Aμ λͺ¨λ μμ μμ μ€ μ λ ν°Bμ μΌμΉνλ μμλ₯Ό μ ν. νμμ μλ.
κΈ°λ³Έν μ
λ ν°A > μ
λ ν°B { μ€νμΌ κ·μΉ }
paragraph 1, 2λ§ μ€νμΌμ΄ μ μ©λ¨.
7-3. νμ (λμ) μ
λ ν° (Sibling Combinator)
νμ (λμ) μ λ ν°λ νμ κ΄κ³(λμ κ΄κ³)μμ λ€μ μμΉνλ μμλ₯Ό μ νν λ μ¬μ©νλ€.

7-3-1. μΈμ νμ μ
λ ν° (Adjacent Sibling Combinator)
μ λ ν°Aμ νμ μμ μ€ μ λ ν°A λ°λ‘ λ€μ μμΉνλ μ λ ν°B μμλ₯Ό μ ν. Aμ Bμ¬μ΄μ λ€λ₯Έ μμκ° μ‘΄μ¬νλ©΄ μ νλμ§ μμ.
κΈ°λ³Έν μ
λ ν°A + μ
λ ν°B { μ€νμΌ κ·μΉ }
7-3-2. μΌλ° νμ μ
λ ν° (General Sibling Combinator)
μ λ ν°Aμ νμ μμ μ€ μ λ ν°A λ€μ μμΉνλ μ λ ν°B μμλ₯Ό λͺ¨λ μ ν
κΈ°λ³Έν μ
λ ν°A ~ μ
λ ν°B { μ€νμΌ κ·μΉ }
8. κ°μ ν΄λμ€ μ
λ ν° (Pseudo-Class Selector)
κ°μ ν΄λμ€λ μμμ νΉμ μνμ λ°λΌ μ€νμΌμ μ μν λ μ¬μ©.
λ§μ°μ€κ° μ¬λΌμ μμ λ
λ§ν¬λ₯Ό λ°©λ¬Ένμ λμ μμ§ λ°©λ¬Ένμ§ μμμ λ
ν¬μ»€μ€κ° λ€μ΄μ μμ λ
μ΄λ¬ν νΉμ μνμλ μλ ν΄λμ€κ° μ‘΄μ¬νμ§ μμ§λ§ κ°μ ν΄λμ€λ₯Ό μμλ‘ μ§μ νμ¬ μ ννλ λ°©λ² κ°μ ν΄λμ€λ λ§μΉ¨ν(.) λμ μ½λ‘ (:)μ μ¬μ©, κ°μ ν΄λμ€λ 미리 μ μλ μ΄λ¦μ΄ μκΈ° λλ¬Έμ μμμ μ΄λ¦μ μ¬μ©ν μ μμ.
μ¬μ©λ² μ
λ ν°:κ°μν΄λμ€ { ν΄λμ€ κ·μΉ }
8-1. λ§ν¬ μ
λ ν° (Link pseudo-classes), λμ μ
λ ν° (User action pseudo-classes)
:link
μ λ ν°κ° λ°©λ¬Ένμ§ μλ λ§ν¬μΌ λ
:visited
μ λ ν°κ° λ°©λ¬Έν λ§ν¬μΌ λ
:hover
μ λ ν°κ° λ§μ°μ€κ° μ¬λΌμ μμ λ
:active
μ λ ν°κ° ν΄λ¦λ μνμΌ λ
:focus
μ λ ν°μ ν¬μ»€μ€κ° λ€μ΄μ μμ λ
8-2. UI μμ μν μ
λ ν° (UI element states pseudo-classes)
:checked
μ λ ν°κ° μ²΄ν¬ μνμΌ λ
:enabled
μ λ ν°κ° μ¬μ© κ°λ₯ν μνμΌ λ
:disabled
μ λ ν°κ° μ¬μ© λΆκ°λ₯ν μνμΌ λ
8-3. ꡬ쑰 κ°μ ν΄λμ€ μ
λ ν° (Structural pseudo-classes)
:first-child
μ λ ν°μ ν΄λΉνλ λͺ¨λ μμ μ€ μ²«λ²μ§Έ μμμΈ μμλ₯Ό μ ν, νμ μμ μ€ μ μΌ μ²« μμλ₯Ό μ ν
:last-child
μ λ ν°μ ν΄λΉνλ λͺ¨λ μμ μ€ λ§μ§λ§ μμμΈ μμλ₯Ό μ ν, νμ μμ μ€ μ μΌ λ§μ§λ§ μμλ₯Ό μ ν

:nth-child(n)
μ λ ν°μ ν΄λΉνλ λͺ¨λ μμ μ€ μμμ nλ²μ§Έ μμμΈ μμλ₯Ό μ ν
:nth-last-child(n)
μ λ ν°μ ν΄λΉνλ λͺ¨λ μμ μ€ λ€μμ nλ²μ§Έ μμμΈ μμλ₯Ό μ ν
:first-of-type
μ λ ν°μ ν΄λΉνλ μμμ λΆλͺ¨ μμμ μμ μμ μ€ μ²«λ²μ§Έ λ±μ₯νλ μμλ₯Ό μ ν
:last-of-type
μ λ ν°μ ν΄λΉνλ μμμ λΆλͺ¨ μμμ μμ μμ μ€ λ§μ§λ§μ λ±μ₯νλ μμλ₯Ό μ ν
:nth-of-type(n)
μ λ ν°μ ν΄λΉνλ μμμ λΆλͺ¨ μμμ μμ μμ μ€ μμμ nλ²μ§Έ λ±μ₯νλ μμλ₯Ό μ ν
:nth-last-type(n)
μ λ ν°μ ν΄λΉνλ μμμ λΆλͺ¨ μμμ μμ μμ μ€ λ€μμ nλ²μ§Έ λ±μ₯νλ μμλ₯Ό μ ν
ꡬ쑰 κ°μ μ λ ν°λ μκ°λ³΄λ€ ꡬλ³νκΈ°κ° μ΄λ ΅λ€. μ¬λ¬λ² μ°λ©΄μ μ΅μν΄μ§λλ‘ λ Έλ ₯νκΈ° κ°κ°μ ꡬ쑰 κ°μ μ λ ν°λ§λ€ νΉμ§μ΄ μλ€. λͺ¨λ λ€λ₯΄λ―λ‘ μν©μ λ§κ² κ³ λ―Όνλ©° μ¬μ©νκΈ° μν©μ λ°λΌμλ κ°μ μμλ₯Ό μ ννλ κ²½μ°λ μλ€.
8-4. λΆμ μ
λ ν° (Negation pseudo-class)
μ λ ν°μ ν΄λΉνμ§ μλ λͺ¨λ μμλ₯Ό μ ν
μ¬μ©λ² :not(μ
λ ν°) { μ€νμΌ κ·μΉ }
μμ κ²½μ°
nth-child()κ³Όnth-of-type()μ€ μ무거λ μ¬μ©ν΄λ κ°μ μμλ€μ΄ μ νλλ€.

8-5. μ ν©μ± μ²΄ν¬ μ
λ ν° (validity pseudo-class)
:valid
μ ν©μ± κ²μ¦μ΄ μ±κ³΅ν input μμ λλ form μμλ₯Ό μ ννλ€.
:invalid
μ ν©μ± κ²μ¦μ΄ μ€ν¨ν input μμ λλ form μμλ₯Ό μ ννλ€.

9. κ°μ μμ μ
λ ν° (Pseudo-Element Selector)
κ°μ μμλ μμμ νΉμ λΆλΆμ μ€νμΌμ μ μ©νκΈ° μνμ¬ μ¬μ©
μμ μ½ν μΈ μ 첫κΈμ λλ 첫μ€
μμ μ½μ²ΈμΈ μ μ λλ λ€
μ¬μ©λ² μ
λ ν°::pseudo-element { μ€νμΌ κ·μΉ}
::first-letter
μ½ν μΈ μ 첫κΈμλ₯Ό μ ν
::first-line
μ½ν μΈ μ 첫μ€μ μ ν, λΈλ‘ μμμλ§ μ μ©
::after
μ½ν
μΈ μ λ€μ μμΉνλ 곡κ°μ μ ν, μΌλ°μ μΌλ‘ content νλ‘νΌν°μ ν¨κ» μ¬μ©
::before
μ½ν
μΈ μ μμ μμΉνλ 곡κ°μ μ ν, μΌλ°μ μΌλ‘ content νλ‘νΌν°μ ν¨κ» μ¬μ©
::selection
λλκ·Έ ν μ½ν μΈ λ₯Ό μ ν, iOS Safari λ± μΌλΆ λΈλΌμ°μ μμλ λμνμ§ μμ

μ°Έκ³
poiemaweb 2-2 μ λ ν° λμ - HTML + CSS + μλ°μ€ν¬λ¦½νΈ μΉ νμ€μ μ μ
π 2022-07-10
Last updated