代码之家  ›  专栏  ›  技术社区  ›  user1030181

如何通过悬停而不单击[复制]来显示下拉菜单和子菜单项

  •  1
  • user1030181  · 技术社区  · 7 年前

    悬停时如何显示下拉菜单项而不是单击时如何显示下拉菜单项

    这里我有关于菜单的下拉菜单,单击时显示,但我想让它在悬停时显示菜单项。同样的事情也应该发生在子菜单项上。如果我错过什么请告诉我

    HTML

    <header class="navbar navbar-inverse navbar-fixed-top bs-docs-nav" role="banner">
      <div class="container">
        <div class="navbar-header">
          <button class="navbar-toggle" type="button" data-toggle="collapse" data-target=".bs-navbar-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a href="./" class="navbar-brand">Bootstrap Menu</a>
        </div>
        <nav class="collapse navbar-collapse bs-navbar-collapse" role="navigation">
          <ul class="nav navbar-nav navbar-right">
            <li>
              <a href="#">Home</a>
            </li>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">About <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="#">Mission</a></li>
                <li><a href="#">Vision</a></li>
                <li><a href="#">Careers</a></li>
              </ul>
            </li>
            <li>
              <a href="#">Products</a>
            </li>
            <li>
              <a href="#">Services</a>
            </li>
            <li class="active">
              <a href="#">Contact</a>
            </li>
          </ul>
        </nav>
      </div>
    </header>
    

    CSS

    @import 'https://fonts.googleapis.com/css?family=Montserrat|Open+Sans';
    .navbar-brand {
      font-family: 'Montserrat', sans-serif;
      text-transform: uppercase
    }
    
    .navbar .nav {
      font-family: 'Open Sans', sans-serif;
      text-transform: uppercase;
      letter-spacing: 3px;
      font-size: 1.2rem
    }
    
    .navbar-inverse {
      background-color: #003300
    }
    
    .navbar-inverse .navbar-nav>.active>a:hover,
    .navbar-inverse .navbar-nav>li>a:hover,
    .navbar-inverse .navbar-nav>li>a:focus {
      background-color: #002200
    }
    
    .navbar-inverse .navbar-nav>.active>a,
    .navbar-inverse .navbar-nav>.open>a,
    .navbar-inverse .navbar-nav>.open>a,
    .navbar-inverse .navbar-nav>.open>a:hover,
    .navbar-inverse .navbar-nav>.open>a,
    .navbar-inverse .navbar-nav>.open>a:hover,
    .navbar-inverse .navbar-nav>.open>a:focus {
      background-color: #003300
    }
    
    .dropdown-menu {
      background-color: #006B00
    }
    
    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:focus {
      background-color: #002200
    }
    
    .navbar-inverse {
      background-image: none;
    }
    
    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:focus {
      background-image: none;
    }
    
    .navbar-inverse {
      border-color: #003300
    }
    
    .navbar-inverse .navbar-brand {
      color: #FFFFFF
    }
    
    .navbar-inverse .navbar-brand:hover {
      color: #FFCC00
    }
    
    .navbar-inverse .navbar-nav>li>a {
      color: #FFFFFF
    }
    
    .navbar-inverse .navbar-nav>li>a:hover,
    .navbar-inverse .navbar-nav>li>a:focus {
      color: #FFCC00
    }
    
    .navbar-inverse .navbar-nav>.active>a,
    .navbar-inverse .navbar-nav>.open>a,
    .navbar-inverse .navbar-nav>.open>a:hover,
    .navbar-inverse .navbar-nav>.open>a:focus {
      color: #FFCC00
    }
    
    .navbar-inverse .navbar-nav>.active>a:hover,
    .navbar-inverse .navbar-nav>.active>a:focus {
      color: #FFCC00
    }
    
    .dropdown-menu>li>a {
      color: #FFFFFF
    }
    
    .dropdown-menu>li>a:hover,
    .dropdown-menu>li>a:focus {
      color: #FFCC00
    }
    
    .navbar-inverse .navbar-nav>.dropdown>a .caret {
      border-top-color: #FFFFFF
    }
    
    .navbar-inverse .navbar-nav>.dropdown>a:hover .caret {
      border-top-color: #FFFFFF
    }
    
    .navbar-inverse .navbar-nav>.dropdown>a .caret {
      border-bottom-color: #FFFFFF
    }
    
    .navbar-inverse .navbar-nav>.dropdown>a:hover .caret {
      border-bottom-color: #FFFFFF
    }
    

    https://codepen.io/ericagulto/pen/KgdyqJ

    1 回复  |  直到 7 年前
        1
  •  0
  •   Tristan Cottam Meulemans    7 年前

    更改下拉列表 <li> 为了这个

    <li class="dropdown">
      <a class="dropbtn">About <b class="caret"></b></a>
      <ul class="dropdown-menu">
        <li><a href="#">Mission</a></li>
        <li><a href="#">Vision</a></li>
        <li><a href="#">Careers</a></li>
      </ul>
    </li>
    

    并将其添加到您的CSS中

    .dropdown {
      position: relative;
      display: inline-block;
    }
    .dropdown-menu {
      display: none;
      position: absolute;
      z-index: 1;
    }
    .dropdown:hover .dropdown-menu {
      display: block;
    }
    

    CodePen