Pseudo-classe :hover


A pseudo-classe :hover aplica estilos a um elemento quando o usuário passa o cursor sobre ele. Essa pseudo-classe é frequentemente usada para criar efeitos de destaque, animações sutis ou interações visuais em resposta às ações do usuário.

Principais características

Ativação por Interação

A pseudo-classe :hover é ativada quando o cursor do mouse está sobre o elemento. Isso significa que os estilos definidos dentro da regra :hover serão aplicados apenas durante a interação do usuário.

.botao {
	background-color: #3498db;
	color: #fff;
}
 
.botao:hover {
	background-color: #2980b9; /* Altera a cor de fundo ao passar o mouse sobre o botão */
}

Hierarquia e Especificidade

A pseudo-classe :hover pode ser usada em conjunto com outras regras CSS, respeitando a hierarquia e a especificidade das regras.

.menu-item {
	color: #333;
}
 
.menu-item:hover {
	color: #e67e22; /* Altera a cor do texto ao passar o mouse sobre o item de menu */
	font-weight: bold; /* Adiciona negrito ao passar o mouse sobre o item de menu */
}

Casos de uso

Estilos dinâmicos

A :hover permite a criação de estilos dinâmicos, proporcionando uma experiência de usuário mais interativa e responsiva. Isso é comumente usado em botões, links e outros elementos interativos.

a {
	color: #333;
	text-decoration: none;
}
 
a:hover {
	color: #e74c3c; /* Altera a cor do texto ao passar o mouse sobre o link */
	text-decoration: underline; /* Adiciona sublinhado ao passar o mouse sobre o link */
}

Transições e Animações

A combinação da pseudo-classe :hover com propriedades de transição (transition) ou animações (@keyframes) permite criar efeitos suaves durante a mudança de estado.

.box {
	width: 100px;
	height: 100px;
	background-color: #2ecc71;
	transition: width 0.3s ease; /* Adiciona transição para a propriedade width */
}
 
.box:hover {
	width: 150px; /* Expande a largura ao passar o mouse sobre a caixa */
}

Referências