Front-end/CSS(SASS,SCSS)

[CSS]모든 가상 선택자

by 빽짱구 2024. 6. 7.

CSS 가상 선택자에는 가상 클래스(pseudo-classes)와 가상 요소(pseudo-elements)가 포함됩니다. 모든 가상 선택자의 목록과 간단한 설명을 아래에 제공합니다.

가상 클래스 (Pseudo-classes)

동적 가상 클래스

  • :hover: 마우스 커서가 요소 위에 있을 때
  • :active: 요소가 활성화되었을 때 (보통 클릭된 상태)
  • :focus: 요소가 포커스를 받을 때 (키보드나 마우스에 의해)
  • :visited: 사용자가 방문한 링크
  • :link: 방문하지 않은 링크
  • :checked: 체크된 체크박스나 라디오 버튼
  • :disabled: 비활성화된 요소
  • :enabled: 활성화된 요소
  • :focus-visible: 키보드 탐색에 의해 포커스된 요소
  • :focus-within: 포커스를 포함한 하위 요소를 가진 요소

구조 가상 클래스

  • :first-child: 부모 요소의 첫 번째 자식 요소
  • :last-child: 부모 요소의 마지막 자식 요소
  • :nth-child(n): 부모 요소의 n번째 자식 요소
  • :nth-last-child(n): 부모 요소의 끝에서 n번째 자식 요소
  • :nth-of-type(n): 형제 요소 중에서 n번째 해당 타입의 요소
  • :nth-last-of-type(n): 형제 요소 중에서 끝에서 n번째 해당 타입의 요소
  • :only-child: 부모 요소의 유일한 자식 요소
  • :only-of-type: 부모 요소의 유일한 해당 타입의 자식 요소
  • :empty: 자식 요소가 없는 요소

상태 가상 클래스

  • :checked: 선택된 <input> 요소
  • :default: 기본적으로 선택된 <input> 요소
  • :disabled: 비활성화된 요소
  • :enabled: 활성화된 요소
  • :indeterminate: 상태가 결정되지 않은 <input> 요소
  • :invalid: 유효하지 않은 입력 요소
  • :valid: 유효한 입력 요소
  • :in-range: 범위 내의 값이 있는 입력 요소
  • :out-of-range: 범위 외의 값이 있는 입력 요소
  • :optional: 선택적인 입력 요소
  • :required: 필수 입력 요소
  • :placeholder-shown: 입력 요소가 placeholder를 표시하는 경우

기타 가상 클래스

  • :root: 문서의 루트 요소
  • :target: URL의 fragment 식별자와 일치하는 요소
  • :lang(language): 지정된 언어와 일치하는 요소
  • :not(selector): 주어진 선택자와 일치하지 않는 요소
  • :is(selector): 지정된 선택자와 일치하는 요소 (매칭 우선 순위가 낮음)
  • :where(selector): 지정된 선택자와 일치하는 요소 (매칭 우선 순위가 0)
  • :has(selector): 자식 요소에 지정된 선택자가 있는 요소
  • :any-link: 방문 여부에 관계없이 모든 링크
  • :read-only: 읽기 전용 요소
  • :read-write: 쓰기 가능한 요소
  • :fullscreen: 전체 화면 상태의 요소

가상 요소 (Pseudo-elements)

  • ::before: 요소의 내용 앞에 삽입되는 가상 요소
  • ::after: 요소의 내용 뒤에 삽입되는 가상 요소
  • ::first-line: 요소의 첫 번째 줄
  • ::first-letter: 요소의 첫 번째 글자
  • ::selection: 사용자가 선택한 요소의 부분
  • ::backdrop: 전체 화면 API에서 요소 뒤의 배경
  • ::placeholder: 입력 요소의 placeholder 텍스트
  • ::marker: 리스트 아이템의 마커
  • ::cue: 웹VTT에서 텍스트 트랙 cue
  • ::part(name): 커스텀 요소의 shadow DOM의 part
  • ::slotted(selector): 슬롯된 요소
  • ::spelling-error: 맞춤법 오류가 있는 텍스트
  • ::grammar-error: 문법 오류가 있는 텍스트
728x90