Front-End/CSS
CSS 선택자 종류
HSHyeon
2025. 1. 16. 11:02
반드시 기억해야 하는 CSS 선택자 30개 요약
1. Universal Selector (*)
- 모든 요소를 선택.
- 사용 시 브라우저 성능에 부담을 줄 수 있으므로 남용하지 않는 것이 좋음.
2. ID Selector (#id)
- 특정 ID를 가진 요소 선택.
- 유일성을 가지므로 재사용성이 낮음.
3. Class Selector (.class)
- 특정 클래스를 가진 요소를 선택.
- 여러 요소에 적용 가능, 재사용성이 높음.
4. Descendant Selector (X Y)
- 특정 요소 내에 포함된 자손 요소 선택.
- 예: li a → <li> 내의 <a> 요소를 선택.
5. Type Selector (X)
- 특정 태그 타입의 모든 요소를 선택.
- 예: ul → 모든 <ul> 요소 선택.
6. Pseudo-classes (X:visited, X:link)
- 특정 상태의 요소 선택.
- :link: 방문하지 않은 링크.
- :visited: 방문한 링크.
7. Adjacent Sibling Selector (X + Y)
- 특정 요소 바로 뒤의 형제 요소 선택.
8. Child Selector (X > Y)
- 특정 요소의 직계 자식 요소 선택.
9. General Sibling Selector (X ~ Y)
- 특정 요소 뒤의 모든 형제 요소 선택.
10. Attribute Selector (X[attribute])
- 특정 속성을 가진 요소를 선택.
- 예: a[title] → title 속성이 있는 <a> 태그 선택.
11. Attribute with Exact Value (X[attr="value"])
- 특정 속성이 특정 값을 가지는 요소 선택.
12. Attribute Contains Substring (X[attr*="value"])
- 속성 값에 특정 문자열이 포함된 요소 선택.
13. Attribute Starts with (X[attr^="value"])
- 속성 값이 특정 문자열로 시작하는 요소 선택.
14. Attribute Ends with (X[attr$="value"])
- 속성 값이 특정 문자열로 끝나는 요소 선택.
15. Custom Attributes (X[data-*="value"])
- data-* 속성을 활용한 선택.
16. Attribute with Space-separated Values (X[attr~="value"])
- 띄어쓰기로 구분된 속성 값에서 특정 값을 가진 요소 선택.
17. Checked Pseudo-class (X:checked)
- 체크된 라디오 버튼이나 체크박스를 선택.
18. Pseudo-elements (X:after, X:before)
- 요소의 전후에 콘텐츠를 생성.
- :after: 요소 뒤에 콘텐츠 추가.
19. Hover Pseudo-class (X:hover)
- 사용자가 요소 위에 마우스를 올렸을 때 특정 스타일 적용.
20. Negation Pseudo-class (X:not(selector))
- 특정 선택자를 제외한 요소 선택.
21. Structural Pseudo-elements (X::first-line, X::first-letter)
- 요소의 첫 번째 줄이나 첫 글자만 스타일링.
22. nth-child (X:nth-child(n))
- 특정 순서의 자식 요소 선택.
- n은 정수 또는 n 표현식.
23. nth-last-child (X:nth-last-child(n))
- 끝에서부터 특정 순서의 자식 요소 선택.
24. nth-of-type (X:nth-of-type(n))
- 특정 태그 타입에서 특정 순서의 요소 선택.
25. nth-last-of-type (X:nth-last-of-type(n))
- 끝에서부터 특정 타입의 요소 선택.
26. first-child (X:first-child)
- 부모의 첫 번째 자식 요소 선택.
27. last-child (X:last-child)
- 부모의 마지막 자식 요소 선택.
28. only-child (X:only-child)
- 부모의 유일한 자식 요소 선택.
29. only-of-type (X:only-of-type)
- 부모 내 특정 타입의 유일한 요소 선택.
30. first-of-type (X:first-of-type)
- 특정 타입의 첫 번째 형제 요소 선택.
결론
- 브라우저 호환성: 대부분의 선택자는 IE9 이상에서 지원.
- 성능 주의: 선택자 남용 시 브라우저 렌더링 성능에 영향을 줄 수 있음.
- 효율적 사용: 선택자를 결합하여 더 강력한 스타일링 구현 가능.