Henk Aap
Henk Aap

Reputation: 27

Affecting navbar when hovering on dropdown content

I have a navbar with typical things like home, contact, general, etc. The color of "general" is white and background-color transparent. When I hover on it, it is #333 and the background-color becomes white. "General" has a dropdown menu. When I hover on the dropdown-content, "general" will change back to white color, but I want that it remains the color #333, when i hover on the dropdown-content. I have tried to put it in a div and other things but i didnt work. What must I change in my code?

This is my code:

<ul class="top-level-menu">
        <li><a href="index1.html">Contact</a></li>
        <li><a href="#">Gallery</a></li>
        <li><a href="#">Travel</a></li>
        <li>
            <a href="#">General</a>
            <ul class="second-level-menu">
                <li><a href="#">People</a></li>
                <li><a href="#">Defense</a></li>
                <li>
                    <a href="#">Cities</a>
                    <ul class="third-level-menu">
                        <li><a href="#">Moscow</a></li>
                        <li><a href="#">Vladivostok</a></li>
                        <li><a href="#">Kazan</a></li>
                        <li><a href="#">Sochi</a></li>
                    </ul>
                </li>
                <li><a href="#">History</a></li>
                <li><a href="#">Demographics</a></li>
                <li><a href="#">Geographics</a></li>
                <li><a href="#">Culture</a></li>
            </ul>
        </li>
        <li><a href="#">Home</a></li>
    </ul>
And css:
.third-level-menu {
    position: absolute;
    top: 0;
    right: -150px;
    width: 150px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
}

.third-level-menu>li {
    height: 30px;
    background: #fff;
}

.third-level-menu>li:hover {
    background: #f1f1f1;
}

.second-level-menu {
    position: absolute;
    top: 30px;
    left: 0;
    width: 150px;
    list-style: none;
    padding: 0;
    margin: 0;
    display: none;
}

.second-level-menu>li {
    position: relative;
    height: 30px;
    background: #fff;
}

.second-level-menu>li a {
    color: #333;
    float: left;
    padding-left: 23px;
}

.second-level-menu>li:hover {
    background: #f1f1f1;
}

.top-level-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.top-level-menu>li {
    position: relative;
    float: right;
    height: 30px;
    width: 100px;
    background: transparent;
    margin-top: 20px;
    text-align: center;
    font-size: 14px;
}

.top-level-menu>li:hover {
    background: #fff;
}

.top-level-menu li:hover>ul {
    display: inline;
}

.top-level-menu a
{
    color: #fff;
    text-decoration: none;
    display: block;
    line-height: 30px;
}

.top-level-menu a:hover {
    color: #333;
}

Upvotes: 2

Views: 59

Answers (1)

Pretom Das Hira
Pretom Das Hira

Reputation: 26

      body {
        background: rgb(15, 14, 14);
      }
      .third-level-menu {
        position: absolute;
        top: 0;
        right: -150px;
        width: 150px;
        list-style: none;
        padding: 0;
        margin: 0;
        display: none;
      }

      .third-level-menu > li {
        height: 30px;
        background: #fff;
      }

      .third-level-menu > li:hover {
        background: #f1f1f1;
      }

      .second-level-menu {
        position: absolute;
        top: 30px;
        left: 0;
        width: 150px;
        list-style: none;
        padding: 0;
        margin: 0;
        display: none;
      }

      .second-level-menu > li {
        position: relative;
        height: 30px;
        background: #fff;
      }

      .second-level-menu > li a {
        color: #333;
        float: left;
        padding-left: 23px;
      }

      .second-level-menu > li:hover {
        background: #f1f1f1;
      }

      .top-level-menu {
        list-style: none;
        padding: 0;
        margin: 0;
      }

      .top-level-menu > li {
        position: relative;
        float: right;
        height: 30px;
        width: 100px;
        background: transparent;
        margin-top: 20px;
        text-align: center;
        font-size: 14px;
      }

      .top-level-menu > li:hover {
        background: #fff;
      }

      .top-level-menu li:hover > ul {
        display: inline;
      }

      .top-level-menu a {
        color: #fff;
        text-decoration: none;
        display: block;
        line-height: 30px;
      }

      .top-level-menu a:hover {
        color: #333;
      }
      /* class style add */
      .dropdown:hover a {
        color: #333;
      }
      /* end */
    
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
   
  </head>
  <body>
    <ul class="top-level-menu">
      <li><a href="index1.html">Contact</a></li>
      <li><a href="#">Gallery</a></li>
      <li><a href="#">Travel</a></li>
      <!-- dropdown class added -->
      <li class="dropdown">
        <!-- end -->
        <a href="#">General</a>
        <ul class="second-level-menu dropdown-content">
          <li><a href="#">People</a></li>
          <li><a href="#">Defense</a></li>
          <li>
            <a href="#">Cities</a>
            <ul class="third-level-menu">
              <li><a href="#">Moscow</a></li>
              <li><a href="#">Vladivostok</a></li>
              <li><a href="#">Kazan</a></li>
              <li><a href="#">Sochi</a></li>
            </ul>
          </li>
          <li><a href="#">History</a></li>
          <li><a href="#">Demographics</a></li>
          <li><a href="#">Geographics</a></li>
          <li><a href="#">Culture</a></li>
        </ul>
      </li>
      <li><a href="#">Home</a></li>
    </ul>
  </body>
</html>

Upvotes: 1

Related Questions