--- title: 의사 클래스 slug: Web/CSS/Pseudo-classes tags: - CSS - Overview - Pseudo-class - Reference - Selectors translation_of: Web/CSS/Pseudo-classes ---
CSS 의사 클래스(가상 클래스)는 선택자에 추가하는 키워드로, 선택한 요소가 특별한 상태여야 만족할 수 있습니다. 예를 들어 {{cssxref(":hover")}}를 사용하면 포인터를 올렸을 때에만 글씨 색을 바꾸고 싶을 때 사용할 수 있습니다.
/* Any button over which the user's pointer is hovering */ button:hover { color: blue; }
의사 클래스를 사용하면 문서 트리 콘텐츠와 관련된 경우 뿐만 아니라 탐색기 히스토리({{cssxref(":visited")}} 등), 콘텐츠의 상태(특정 폼 요소에 적용한 {{cssxref(":checked")}} 등), 마우스의 위치(커서가 마우스 위인지 아닌지 알 수 있는 {{cssxref(":hover")}} 등)처럼 외부 인자와 관련된 경우에도 스타일을 적용할 수 있습니다.
참고: 의사 요소는 의사 클래스와 달리 요소의 특정 부분에 스타일을 적용할 때 사용합니다.
selector:pseudo-class { property: value; }
일반적인 클래스와 같이 여러 개의 의사 클래스를 조합해 복잡한 선택자를 만들 수 있습니다.
Specification | Status | Comment |
---|---|---|
{{SpecName("Fullscreen")}} | {{Spec2("Fullscreen")}} | Defined :fullscreen . |
{{SpecName("HTML WHATWG", "#pseudo-classes")}} | {{Spec2("HTML WHATWG")}} | Defines when particular selectors match HTML elements. |
{{SpecName("CSS4 Selectors")}} | {{Spec2("CSS4 Selectors")}} | Defined :any-link , :blank , :local-link , :scope , :drop , :current , :past , :future , :placeholder-shown , :user-invalid , :nth-col() , :nth-last-col() , :is() and :where() .Changed :empty to behave like {{CSSxRef(":-moz-only-whitespace")}} {{Non-standard_Inline}}.No significant change for other pseudo-classes defined in {{SpecName("CSS3 Selectors")}} and {{SpecName("HTML5 W3C")}} (though semantic meaning not taken over). |
{{SpecName("HTML5 W3C")}} | {{Spec2("HTML5 W3C")}} | Copies the relevant section from the canonical (WHATWG) HTML spec. |
{{SpecName("CSS3 Basic UI")}} | {{Spec2("CSS3 Basic UI")}} | Defined :default , :valid , :invalid , :in-range , :out-of-range , :required , :optional , :read-only and :read-write , but without the associated semantic meaning. |
{{SpecName("CSS3 Selectors")}} | {{Spec2("CSS3 Selectors")}} | Defined :target , :root , :nth-child() , :nth-last-of-child() , :nth-of-type() , :nth-last-of-type() , :last-child , :first-of-type , :last-of-type , :only-child , :only-of-type , :empty and :not() .Defined the syntax of :enabled , :disabled , :checked , and :indeterminate , but without the associated semantic meaning.No significant change for pseudo-classes defined in {{SpecName('CSS2.1')}}. |
{{SpecName("CSS2.1")}} | {{Spec2("CSS2.1")}} | Defined :lang() , :first-child , :hover , and :focus .No significant change for pseudo-classes defined in {{SpecName('CSS1')}}. |
{{SpecName("CSS1")}} | {{Spec2("CSS1")}} | Defined :link , :visited and :active , but without the associated semantic meaning. |