Uma pseudo-classe CSS é uma termo adicionado a um seletor que específica um estado especial desse seletor. Por exemplo, :hover
pode ser usado para mudar a cor de um botão quando o usuário "coloca o mouse sobre" esse elemento.
button:hover {
color: blue;
}
As pseudo-classes permitem que você aplique estilos a um elemento não somente em relação ao conteúdo da "Arvóre do Documento", mas também em relação a fatores externos como o histórico de navegação (:visited, por exemplo), o estado do elemento (:checked, por exemplo), ou a posição do mouse (:hover, já citado anteriormente).
As pseudo-classes são divididas em 3 tipos e vamos falar sobre cada um deles dentro de cada seção abaixo:
Seletores
Seletores Básicos | Combinadores | Pseudo-classes | Pseudo-elementos