8-3. CSS 가상 ν΄λž˜μŠ€μ™€ 가상 μš”μ†Œ

2021. 10. 15. 00:37ㆍHTML + CSS + JS

728x90

1. μ‚¬μš©μž λ™μž‘μ— 따라 λ°˜μ‘ν•˜λŠ” 가상 클래슀 

μ‚¬μš©μžκ°€ μ›Ή μš”μ†Œλ₯Ό ν΄λ¦­ν•˜κ±°λ‚˜ 마우슀 포인터λ₯Ό μ˜¬λ €λ†“λŠ” λ“± νŠΉμ • λ™μž‘μ„ ν•  λ•Œ μŠ€νƒ€μΌμ΄ λ°”λ€Œλ„λ‘ λ§Œλ“€κ³  μ‹Άλ‹€λ©΄ κ°€μƒν΄λž˜μŠ€ μ„ νƒμžλ₯Ό μ‚¬μš©ν•œλ‹€. 

 

1️⃣ : link 가상 클래슀 μ„ νƒμž 

λ°©λ¬Έν•˜μ§€ μ•Šμ€ 링크에 μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€. 

 

2️⃣ : visited 가상 클래슀 μ„ νƒμž 

λ°©λ¬Έν•œ 링크에 μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€. 

 

3️⃣ : hover 가상 클래슀 μ„ νƒμž 

νŠΉμ • μš”μ†Œμ— 마우슀 포인터λ₯Ό μ˜¬λ €λ†“μœΌλ©΄ μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€. 

 

4️⃣ : active 가상 클래슀 μ„ νƒμž

μ›Ή μš”μ†Œλ₯Ό ν™œμ„±ν™”ν–ˆμ„ λ•Œ μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€. 

 

5️⃣ : focus 가상 클래슀 μ„ νƒμž 

μ›Ή μš”μ†Œμ— 초점이 λ§žμΆ°μ‘Œμ„ λ•Œ μŠ€νƒ€μΌμ„ μ μš©ν•œλ‹€. 

 

 

 

2. μš”μ†Œ μƒνƒœμ— λ”°λ₯Έ 가상 클래슀 

 

1️⃣ : target 가상 클래슀 μ„ νƒμž 

λ‹€λ₯Έ μ‚¬μ΄νŠΈμ˜ νŽ˜μ΄μ§€λ‘œ 이동할 λ•Œμ—λŠ” 링크λ₯Ό μ΄μš©ν•˜κ³ , 같은 λ¬Έμ„œ μ•ˆμ—μ„œ λ‹€λ₯Έ μœ„μΉ˜λ‘œ 이동할 λ•Œμ—λŠ” 액컀λ₯Ό μ΄μš©ν•œλ‹€. μ΄λ•Œ :target μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜λ©΄ μ•΅μ»€λ‘œ μ—°κ²°λœ λΆ€λΆ„, 즉 μ•΅μ»€μ˜ λͺ©μ μ§€κ°€ λ˜λŠ” λΆ€λΆ„μ˜ μŠ€νƒ€μΌμ„ μ‰½κ²Œ μ μš©ν•  수 μžˆλ‹€. 

2️⃣ :enabled 와 :disabled 가상 클래슀 μ„ νƒμž 

ν•΄λ‹Ή μš”μ†Œκ°€ μ‚¬μš©ν•  수 μžˆλŠ” μƒνƒœμΌ λ•Œ μŠ€νƒ€μΌμ„ μ§€μ •ν•˜λ €λ©΄ :enabled μ„ νƒμžλ₯Ό μ‚¬μš©ν•˜κ³ , 

μ‚¬μš©ν•  수 μ—†λŠ” μƒνƒœμΌ λ•Œ μŠ€νƒ€μΌμ„ μ§€μ •ν•˜λ €λ©΄ :disabled μ„ νƒμžλ₯Ό μ΄μš©ν•œλ‹€. 

 

3️⃣ :checked 가상 클래슀 μ„ νƒμž 

checked 속성이 μžˆλŠ” μš”μ†Œμ˜ μŠ€νƒ€μΌ 지정할 λ•Œ μ‚¬μš© 

 

4️⃣ : not 가상 클래슀 μ„ νƒμž 

not 은 κ΄„ν˜Έμ•ˆμ— μžˆλŠ” μš”μ†Œλ₯Ό μ œμ™Έν•œλ‹€. 

radio μš”μ†Œ μ œμ™Έ 

 

 

3. ꡬ쑰 가상 클래슀 

ꡬ쑰 가상 ν΄λž˜μŠ€λž€ μ›Ή λ¬Έμ„œμ˜ ꡬ쑰λ₯Ό κΈ°μ€€μœΌλ‘œ νŠΉμ • μœ„μΉ˜μ— μžˆλŠ” μš”μ†Œλ₯Ό μ°Ύμ•„ μŠ€νƒ€μΌμ„ μ μš©ν•  λ•Œ μ‚¬μš©ν•˜λŠ” 가상 클래슀 μ„ νƒμžμ΄λ‹€. 

 

1️⃣ νŠΉμ • μœ„μΉ˜μ˜ μžμ‹ μš”μ†Œ μ„ νƒν•˜κΈ° 

:only-child  

λΆ€λͺ¨ μ•ˆμ— μžμ‹ μš”μ†Œκ°€ ν•˜λ‚˜λΏμΌ λ•Œ μžμ‹ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

A:only-type-of

λΆ€λͺ¨ μ•ˆμ— A μš”μ†Œκ°€ ν•˜λ‚˜λΏμΌ λ•Œ μ„ νƒν•œλ‹€. 

:first-child

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” λͺ¨λ“  μš”μ†Œ μ€‘μ—μ„œ 첫 번째 μžμ‹ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

:last-child

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” λͺ¨λ“  μš”μ†Œ μ€‘μ—μ„œ λ§ˆμ§€λ§‰ μžμ‹ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

A:first-of-type

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” A μš”μ†Œ μ€‘μ—μ„œ 첫번째 μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€.

A:last-of-type

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” A μš”μ†Œ μ€‘μ—μ„œ λ§ˆμ§€λ§‰ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

:nth-child(n)

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” λͺ¨λ“  μš”μ†Œ μ€‘μ—μ„œ n 번째 μžμ‹ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

:nth-last-child(n)

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” λͺ¨λ“  μš”μ†Œ μ€‘μ—μ„œ 끝번째 μžμ‹ μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

A:nth-of-type(n)

λΆ€λͺ¨ μ•ˆμ— μžˆλŠ” A μš”μ†Œ μ€‘μ—μ„œ n 번째 μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

A:nth-last-of-type(n)

보λͺ¨ μ•ˆμ— μžˆλŠ” A μš”μ†Œ μ€‘μ—μ„œ λμ—μ„œ n 번째 μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€. 

 

2️⃣ μˆ˜μ‹μ„ μ‚¬μš©ν•΄ μœ„μΉ˜ μ§€μ •ν•˜κΈ° 

ν™€μˆ˜ λ²ˆμ§Έμ— μŠ€νƒ€μΌμ„ 쀄 λ•ŒλŠ” nth-child(odd), 짝수 λ²ˆμ§Έμ— μŠ€νƒ€μΌμ„ 쀄 λ•ŒλŠ” nth-child(even)을 μ‚¬μš©ν•  수 μžˆλ‹€. 

 

 

 

4. 가상 μš”μ†Œ 

가상 ν΄λž˜μŠ€κ°€ μ›Ή λ¬Έμ„œμ˜ μ—¬λŸ¬ μš”μ†Œ μ€‘μ—μ„œ μ›ν•˜λŠ” μš”μ†Œλ₯Ό μ„ νƒν•œλ‹€λ©΄,

가상 μš”μ†ŒλŠ” λ¬Έμ„œ μ•ˆμ˜ νŠΉμ • 뢀뢄에 μŠ€νƒ€μΌμ„ μ§€μ •ν•˜κΈ° μœ„ν•΄ κ°€μƒμœΌλ‘œ μš”μ†Œλ₯Ό λ§Œλ“€μ–΄ μΆ”κ°€ν•œλ‹€. 

 

1️⃣ ::first-line μš”μ†Œ, ::first-letter μš”μ†Œ 

μ§€μ •ν•œ μš”μ†Œμ˜ 첫 번째 μ€„μ΄λ‚˜ 첫번째 κΈ€μžμ— μŠ€νƒ€μΌμ„ μ μš©ν•  수 μžˆλ‹€. 

 

2️⃣ ::before μš”μ†Œ, ::after μš”μ†Œ 

μ§€μ •ν•œ μš”μ†Œμ˜ λ‚΄μš© μ•žλ’€μ— μŠ€νƒ€μΌμ„ 넣을 수 μžˆλ‹€. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90