【问题标题】:dropdown menu disappear when hover to dropdown item悬停到下拉项时下拉菜单消失
【发布时间】:2021-02-09 13:33:05
【问题描述】:

当我将鼠标悬停在其项目上时,您能帮我解决下拉菜单消失的问题吗?我正在尽我所能寻找解决方案,但我没有运气。我的 css 中一定少了一些东西。

这是我的代码

      .navbar .nav-item:hover .nav-link{ color: #fff;  }
      .navbar .nav-item:hover .dropdown-menu{ 
        display: block;
      }
      .navbar .nav-item .dropdown-menu{ margin-top:0; }
    
    .dropdown-menu {
      margin-top: 0;
    }
    
    .navbar .nav-item:not(:last-child) {
      margin-right: 35px;
    }
    
    .dropdown-toggle::after {
      transition: transform 0.15s linear;
    }
    
    .show.dropdown .dropdown-toggle::after {
      transform: translateY(3px);
    }
    <section class="w3l-bootstrap-header">
      <nav class="navbar navbar-expand-lg navbar-light py-lg-2 py-2">
        <div class="container">
          <a class="navbar-brand" href="index.html">
           
          </a>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
            aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon fa fa-bars"></span>
          </button>
    
          <div class="collapse navbar-collapse" id="navbarSupportedContent">
            <ul class="navbar-nav mx-auto">
              <li class="nav-item">
                <a class="nav-link" href="index.html">Home</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="about.html">About</a>
              </li>
              <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown1" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Projects</a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdown1">
                  <a class="dropdown-item" href="#">Completed</a>
                  <a class="dropdown-item" href="#">On Going</a>
                </div>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="services.html">Services</a>
              </li>
              <li class="nav-item">
                <a class="nav-link" href="contact.html">Contact</a>
              </li>
            </ul>
            
          </div>
        </div>
      </nav>
    </section>

希望你能帮助我。非常感谢!

上帝保佑!

【问题讨论】:

  • @AezignSpace 我的整个 CSS?
  • 抱歉,写得太快了。是的,你所有的 CSS。
  • 你所做的应该可以正常工作。
  • @AezignSpace 你能仔细检查我的 CSS 吗?

标签: html css drop-down-menu


【解决方案1】:

由于您的背景是深色的,您需要在 nav ul ul 选择器中为文本添加浅色。我已经更新了你的 CSS。

.navbar {
  display: flex;
  height: 7vh;
  align-items: center;
  justify-content: center;
  font-size: 1.2em;
  border-bottom: 1px solid #52657a;
  width: 100%;
}

.navbar-nav {
  list-style: none;
  display: flex;
  align-items: center;
  padding-top: 2vh;
  padding-bottom: 2vh;
}

.nav-item {
  padding-left: 1vw;
  text-decoration: none;
  position: relative;
}

.nav-link {
  text-decoration: none;
  color: red;
}


nav ul ul {
  position: absolute;
  list-style: none;
  top: 100%;
  padding: 0;
  text-align: left;
  display: none;
  background: #0A141C;
  color: #fff;
}

nav ul ul li {
  padding-bottom: 10px;
  padding-top: 5px
}

nav ul li:hover > ul {
  display: block;
}

.nav-link:hover {
  text-decoration: none;
  color: #536778;
}

.router-link {
  text-decoration: none;
}

.router-link-exact-active {
  color: rgb(26, 219, 219);
}

li a {
  text-decoration: none;
  color: black;
}


#logo {
  max-width: 3.5vh;
  max-height: 3.5vh;
}

这个 CSS 在你的小提琴中。对于您的上述 CSS,您已在此选择器 .navbar .nav-item:hover .nav-link 中悬停时将 color:#fff; 添加到导航链接。这就是为什么文本在悬停时消失的原因。 试试这个

    .navbar .nav-item:hover .nav-link{  color: #000; }
    .navbar .nav-item:hover .dropdown-menu{ 
      display: block;
    }
    .navbar .nav-item .dropdown-menu{ margin-top:0; }
    
    .dropdown-menu {
      margin-top: 0;
      display: block;
    }
    
    .navbar .nav-item:not(:last-child) {
      margin-right: 35px;
    }
    
    .dropdown-toggle::after {
      transition: transform 0.15s linear;
    }
    
    .show.dropdown .dropdown-toggle::after {
      transform: translateY(3px);
    }

【讨论】:

  • 抱歉,我的小提琴不能正常工作,你可以依赖我发布的 CSS
  • 你试过上面的 CSS 吗?
  • 为什么?那不是我的 CSS
  • 我希望它是可悬停的菜单,而不是可点击的
  • 我认为在你的小提琴中这是 CSS。
猜你喜欢
  • 2018-04-17
  • 2018-06-04
  • 2017-01-02
  • 2019-10-30
  • 2015-03-27
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
相关资源
最近更新 更多