본문 바로가기

CSS

[CSS] pseudo class

 

CSS 의사 클래스(pseudo class)는 선택자에 추가되는 키워드로, 요소의 특정 상태를 지정합니다. 

 

링크에 CSS 을 줄 때는 dynamic  pseudo-classes 를 활용하여 아래처럼

link , visited , hover , active  4개를 전부 꾸며줘야 합니다.

 

/* 링크 스타일링  */
a:link {
  color: #1098ad;
  text-decoration: none;
}
a:visited {
  color: grey;
}
a:hover {
  color: orangered;
  font-weight: bold;
  text-decoration: underline  orangered;
}
a:active {
  background-color: black;
  font-style: italic;
}

 

그 밖의 pseudo class 는 다음과 같습니다.

 

 

1. Dynamic pseudo-classes
:link 사용자가 아직 한 번도 해당 링크를 통해서 연결된 페이지를 방문하지 않은 상태를 모두 선택함. (기본 상태)
:visited 사용자가 한 번이라도 해당 링크를 통해서 연결된 페이지를 방문한 상태를 모두 선택함.
:hover 사용자의 마우스 커서가 링크 위에 올라가 있는 상태를 모두 선택함.
:active 사용자가 마우스로 링크를 클릭하고 있는 상태를 모두 선택함.
:focus 초점이 맞춰진 input 요소를 모두 선택함.

 

2. UI element states pseudo-classes
:checked 체크된(checked) 상태의 input 요소를 모두 선택함.
:enabled 사용할 수 있는 input 요소를 모두 선택함.
:disabled 사용할 수 없는 input 요소를 모두 선택함.

:target 현재 활성화된 target 요소를 모두 선택함.

 

3. Structural pseudo-classes
:first-child 모든 자식(child) 요소 중에서 첫 번째에 위치하는 자식(child) 요소를 모두 선택함.
:last-child 모든 자식(child) 요소 중에서 마지막에 위치하는 자식(child) 요소를 모두 선택함.
:nth-child(n) 모든 자식(child) 요소 중에서 앞에서부터 n번째에 위치하는 자식(child) 요소를 모두 선택함.(odd, even 도 가능)
:nth-last-child(n) 모든 자식(child) 요소 중에서 뒤에서부터 n번째에 위치하는 자식(child) 요소를 모두 선택함.
:first-of-type 모든 자식(child) 요소 중에서 첫 번째로 등장하는 특정 요소를 모두 선택함.
:last-of-type 모든 자식(child) 요소 중에서 마지막으로 등장하는 특정 요소를 모두 선택함.
:nth-of-type 모든 자식(child) 요소 중에서 n번째로 등장하는 특정 요소를 모두 선택함.
:nth-last-of-type 모든 자식(child) 요소 중에서 뒤에서부터 n번째로 등장하는 특정 요소를 모두 선택함.
:only-child 자식(child) 요소를 단 하나만 가지는 모든 요소의 자식(child) 요소를 선택함.
:only-of-type 자식(child)  요소를 특정 요소 단 하나만 가지는 모든 요소의 자식(child) 요소를 선택함.
:empty 아무런 자식(child) 요소도 가지지 않는 요소를 모두 선택함.
:root 문서의 root 요소를 선택함.

 

4. Form pseudo-classes

:required: 필수 입력 속성을 가진 폼 요소를 선택합니다.
:optional: 필수가 아닌 폼 요소를 선택합니다.
:valid: 유효한 내용을 가진 폼 요소를 선택합니다.
:invalid: 유효하지 않은 내용을 가진 폼 요소를 선택합니다.

5. Input pseudo-classes

:in-range 특정 범위 내의 값을 가지는 input 요소를 모두 선택함.
:out-of-range 특정 범위를 벗어나는 값을 가지는 input 요소를 모두 선택함.
:read-only readonly 속성을 가지는 input 요소를 모두 선택함.
:read-write readonly 속성을 가지지 않는 input 요소를 모두 선택함.

 

6. 기타 
:not(선택자) 모든 선택자와 함께 사용할 수 있으며, 해당 선택자를 반대로 적용함.
:lang(언어) 특정 요소를 언어 설정에 따라 다르게 표현할 때에 사용함.

 

'CSS' 카테고리의 다른 글

[CSS] 3. 레이아웃 스타일 - 인라인, 블록, 인라인블록  (0) 2024.09.26
[CSS] 1. 텍스트 서식  (0) 2024.09.24
[CSS] 2. BOX 모델 (box-sizing: border-box)  (0) 2024.09.23
[CSS] CSS 상속  (0) 2024.09.23
[CSS] CSS 적용 우선 순위  (0) 2024.09.23