1

I want the color of 'h1' tag to change when the mouse hovers over the 'li' tag. I tried following the answer provided here: CSS :: child set to change color on parent hover, but changes also when hovered itself but that hasn't worked for me.

li{
  width: 100vw;
  }
li:hover{
  background-color: orange;
  }
li:hover h1:not(:hover){
  color: white;
  }
<ul>
  <li><h1>Home</h1></li>
</ul>
Talha Munir
  • 498
  • 1
  • 4
  • 16

3 Answers3

5

In normal css:

li:hover h1 {
    color: red;
}

In scss:

li:hover {
    h1 {
       color: red;
    }
}
Robin
  • 4,902
  • 2
  • 27
  • 43
1

You just need to set the color property in your CSS:

li {
  width: 100vw;
}

li:hover {
  background-color: orange;
  color: blue;
}

li:hover h1:not(:hover) {
  color: white;
}
<ul>
  <li>
    <h1>Home</h1>
  </li>
</ul>
Tom O.
  • 5,730
  • 2
  • 21
  • 35
1

This worked for me.

li{
  width: 100vw;
  }
li:hover{
  background-color: orange;
  }
li h1:hover {
  color: white;
  }
<ul>
  <li><h1>Home</h1></li>
</ul>
Pooja
  • 11
  • 2