--- title: Pseudo-classes slug: Web/CSS/Pseudo-classes tags: - CSS - CSS Referência - Intermediário - Seletores translation_of: Web/CSS/Pseudo-classes ---
{{ CSSRef() }}
Uma pseudo-classe CSS é uma palavra-chave adicionada a seletores que especifica um estado especial do elemento selecionado. Por exemplo, {{Cssxref(":hover")}} pode ser usado para alterar a cor de um botão quando o usuário passar o cursor sobre ele.
/*Qualquer botão sobre o qual o ponteiro do usuário esteja passando sobre*/ button:hover { color: blue; }
Pseudo-classes permitem que você aplique um estilo a um elemento não apenas em relação ao conteúdo da árvore do documento, mas também em relação a fatores externos como o histórico de navegação ({{CSSxRef(":visited")}}, por exemplo), o status do seu conteúdo (como {{ CSSxRef(":checked")}} em certos elementos de um formulário), ou a posição do mouse (como {{CSSxRef(":hover")}}, que permite saber se o mouse está sobre um elemento ou não).
Observação: Diferentemente das pseudo-classes, pseudo-elementos podem ser usados para estilizar uma parte específica de um elemento.
seletor:pseudo-classe { propriedade: valor; }
Assim como nas classes regulares, você pode encadear juntas quantas pseudo-classes você desejar em um seletor.
Especificação | Status | Comentário |
---|---|---|
{{ SpecName('Fullscreen') }} | {{ Spec2('Fullscreen') }} | Define :fullscreen . |
{{ SpecName('HTML WHATWG') }} | {{ Spec2('HTML WHATWG') }} | Nenhuma mudança de {{ SpecName('HTML5 W3C') }}. |
{{SpecName('CSS4 Selectors')}} | {{Spec2('CSS4 Selectors')}} | Define :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() , e :matches() .Nenhuma mudança significante das pseudo-classes definidas em {{SpecName('CSS3 Selectors')}} e {{SpecName('HTML5 W3C')}} (embora o significado semântico que não foram retomadas). |
{{ SpecName('HTML5 W3C') }} | {{ Spec2('HTML5 W3C') }} | Define o siginificado semântico no contexto do HTML :link , :visited , :active , :enabled , :disabled , :checked , e :indeterminate .Define :default , :valid , :invalid , :in-range , :out-of-range , :required , :optional , :read-only , :read-write , e :dir() . |
{{ SpecName('CSS3 Basic UI') }} | {{ Spec2('CSS3 Basic UI') }} | Define :default , :valid , :invalid , :in-range , :out-of-range , :required , :optional , :read-only , e :read-write , mas sem associar significado semântico. |
{{SpecName('CSS3 Selectors')}} | {{Spec2('CSS3 Selectors')}} | Define :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 , e :not() .Denife a sintaxe de :enabled , :disabled , :checked , e :indeterminate , mas sem o significado semântico associado. Nenhuma mudança significativa, para as pseudo-classes definidas em {{SpecName('CSS2.1')}}. |
{{SpecName('CSS2.1')}} | {{Spec2('CSS2.1')}} | Define :lang() , :first-child , :hover , e :focus .Nenhuma mudança significativa, para as pseudo-classes definidas em{{SpecName('CSS1')}}. |
{{SpecName('CSS1')}} | {{Spec2('CSS1')}} | Define :link , :visited , e :active , mas sem o significado semântico associado. |