Neste artigo você vai aprender a como fazer o efeito de hover em um elemento afetar outro, por meio de CSS puro e é claro de uma forma fácil e rápida!
Fala programador(a), tudo bem? Bora aprender coisa nova! 😀
A ideia por trás de afetar um outro elemento, que não seja o que colocamos o mouse pelo hover é simples
Precisamos identificar o elemento de hover, como fazer normalmente
Mas seguido a ele, colocamos a classe/id do elemento que realmente precisa mudar o estilo, isso se for filho do elemento
Por exemplo se for um ‘gêmeo’, ou seja no mesmo nível, devemos colocar um + entre os seletores
Assim conseguimos realizar nosso objetivo, veja um exemplo:
<!DOCTYPE html>
<html>
<head>
<title>Efeito de hover em um elemento afetar outro</title>
<meta charset="utf-8">
</head>
<body>
<div id="elemento"></div>
<div id="elemento-hover"></div>
</body>
</html>Criamos dois elementos distintos, e a ideia aqui vai ser ativar o hover no #elemento-hover passando o ponteiro do mouse por #elemento
Quer se especializar em Desenvolvimento Web? Veja o nosso catálogo de cursos.
Então vamos ao CSS:
div {
width: 50px;
height: 50px;
margin: 30px;
}
#elemento {
background-color: red;
}
#elemento-hover {
background-color: blue;
}
#elemento:hover + #elemento-hover {
background-color: magenta;
}Neste caso, o resultado será este:
Este foi um caso de tags no mesmo nível, agora vejamos uma com um hover em uma tag pai, aplicando o efeito na tag filha:
<!DOCTYPE html>
<html>
<head>
<title>Efeito de hover em um elemento afetar outro</title>
<meta charset="utf-8">
</head>
<body>
<div>
<p id="p-hover">Testando hover</p>
<p>Este não vai ter hover</p>
</div>
</body>
</html>Agora o CSS:
div {
margin: 50px;
width: 500px;
}
div:hover #p-hover {
color: red;
font-weight: bold;
border-bottom: 2px dotted yellow;
background-color: #000;
}O resultado do hover em qualquer lugar da div, é este:
E desta maneira conseguimos ativar hover em um elemento e aplicando o estilo (CSS) em outro! 🙂
Conclusão
Neste artigo vimos como fazer o efeito hover em um elemento afetar outro
Primeiro precisamos identificar o parentesco do elemento que vai ativar o hover
Depois criar uma regra de CSS que ative o hover no elemento que deve ativá-lo
Seguido de como este elemento se relaciona com o elemento que deve mudar o estilo, caso seja um sibling/irmão você pode adicionar um +, e assim por diante
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube



Gostei demais dessa explicação, simples e prática. Na verdade só encontrei conteúdo relacionado a isso nesse site.
valeu Larissa!
Interessante mas eu não conseguir fazer o elemento mudar quando eu inverto e coloco o hover no elemento-hover. Como posso fazer?