--- title: Pseudo-classes slug: Web/CSS/Pseudo-classes tags: - CSS - Referencia CSS - Selectores - pseudo-clases translation_of: Web/CSS/Pseudo-classes ---
{{ CSSRef() }}
Una pseudoclase CSS es una palabra clave que se añade a los selectores y que especifica un estado especial del elemento seleccionado. Por ejemplo, {{ Cssxref(":hover") }} aplicará un estilo cuando el usuario haga hover sobre el elemento especificado por el selector.
div:hover {
background-color: #F89B4D;
}
Las pseudoclases, junto con los pseudoelementos, permiten aplicar un estilo a un elemento no sólo en relación con el contenido del árbol de documento, sino también en relación a factores externos como el historial del navegador ({{ cssxref(":visited") }}, por ejemplo), el estado de su contenido (como {{ cssxref(":checked") }} en algunos elementos de formulario), o la posición del ratón (como {{ cssxref(":hover") }} que permite saber si el ratón está encima de un elemento o no).
Nota: En lugar de usar pseudoclases, {{cssxref("pseudo-elements")}} puede usarse para dar estilo a una parte específica de un elemento.
selector:pseudoclase { propiedad: valor; }
Al igual que las clases, se pueden concatenar la cantidad de pseudoclases que se deseen en un selector.
Especificación | Estado | Comentario |
---|---|---|
{{ SpecName('Fullscreen') }} | {{ Spec2('Fullscreen') }} | Definido :fullscreen . |
{{ SpecName('HTML WHATWG') }} | {{ Spec2('HTML WHATWG') }} | Ningún cambio desde {{ SpecName('HTML5 W3C') }}. |
{{SpecName('CSS4 Selectors')}} | {{Spec2('CSS4 Selectors')}} | Definido :any-link , :local-link , :scope , :active-drop-target , :valid-drop-target , :invalid-drop-target , :current , :past , :future , :placeholder-shown , :user-error , :blank , :nth-match() , :nth-last-match() , :nth-column() , :nth-last-column() , and :matches() .Ningún cambio significativo para las pseudo-clases difinidas en {{SpecName('CSS3 Selectors')}} y en {{SpecName('HTML5 W3C')}} (Aunque el significado semántico no fuera absorbido). |
{{ SpecName('HTML5 W3C') }} | {{ Spec2('HTML5 W3C') }} | Define el significado semántico en el contexto HTML de :link , :visited , :active , :enabled , :disabled , :checked , and :indeterminate .Definido :default , :valid , :invalid , :in-range , :out-of-range , :required , :optional , :read-only , :read-write , y :dir() . |
{{ SpecName('CSS3 Basic UI') }} | {{ Spec2('CSS3 Basic UI') }} | Definido :default , :valid , :invalid , :in-range , :out-of-range , :required , :optional , :read-only , y :read-write , pero sin el significado semántico asociado. |
{{SpecName('CSS3 Selectors')}} | {{Spec2('CSS3 Selectors')}} | Definido :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 , y :not() .Define la sintaxis de :enabled , :disabled , :checked , y :indeterminate , pero sin el significado semántico asociado.Ningún cambio significativo para las pseudo-clases difinidas en {{SpecName('CSS2.1')}}. |
{{SpecName('CSS2.1')}} | {{Spec2('CSS2.1')}} | Definido :lang() , :first-child , :hover , y :focus .Ningún cambio significativo para las pseudo-clases difinidas en {{SpecName('CSS1')}}. |
{{SpecName('CSS1')}} | {{Spec2('CSS1')}} | Definido :link , :visited , y :active , pero sin el significado semántico asociado. |