繁体   English   中英

Bootstrap 中不显示子菜单

[英]Submenus aren't displayed in Bootstrap

正在使用 Bootstrap 制作菜单,并且需要子菜单,但是子菜单项显示。

示例截图

我已经检查了几次 HTML 但我找不到它可能会失败,我不知道我的 CSS 中是否缺少某些东西。

 .navbar-nav li:hover>ul.dropdown-menu { display: block; }.dropdown-submenu { position: relative; }.dropdown-submenu>.dropdown-menu { top: 0; left: 100%; margin-top: -6px; } /* rotate caret on hover */.dropdown-menu>li>a:hover:after { text-decoration: underline; transform: rotate(-90deg); }
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> <!-- Menu Productos --> <nav class="navbar navbar-expand-md navbar-light bg-light"> <a class="navbar-brand pb-2" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavDropdown"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i class="fas fa-project-diagram"></i> Productos <b class="caret"></b> </a> <ul class="dropdown-menu dropdown-menu--dark"> <li> <a class="dropdown-item" [routerLink]='["/ConsoProductos"]'> <i class="fa fa-align-left" aria-hidden="true"></i> Consolidado </a> </li> <li class="dropdown-submenu--dark"> <a class="dropdown-item dropdown-toggle" [routerLink]='["/RegistroProductos"]'> Registro de Productos </a> <ul class="dropdown-menu"> <li> <a class="dropdown-item"> Generación Nuevo Conocimiento </a> </li> <li> <a class="dropdown-item"> Desarrollo Tecnológico e Innovación </a> </li> <li> <a class="dropdown-item"> <i class="fa fa-align-left" aria-hidden="true"></i> Apropiación Social del Conocimiento </a> </li> </ul> </li> </ul> </li> <!-- Fin Menu productos --> </div> </nav>

它应该得到一个菜单和子菜单,如下图所示:

子菜单示例

我找不到错误,因为未显示子菜单项。

您缺少一些 CSS,默认情况下.dropdown-itemdisplay: none ,这就是它没有显示的原因。 :hover ,它现在将正确显示。

.dropdown-menu>li:hover ul.dropdown-menu {
  display: inline-block;
  position: absolute;
  top: 2rem;
  left: 100%;
}

作为片段的完整示例:

 .navbar-nav li:hover>ul.dropdown-menu { display: block; }.dropdown-submenu { position: relative; }.dropdown-submenu>.dropdown-menu { top: 0; left: 100%; margin-top: -6px; } /* rotate caret on hover */.dropdown-menu>li>a:hover:after { text-decoration: underline; transform: rotate(-90deg); }.dropdown-menu>li:hover ul.dropdown-menu { display: inline-block; position: absolute; top: 2rem; left: 100%; }
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script> <!-- Menu Productos --> <nav class="navbar navbar-expand-md navbar-light bg-light"> <a class="navbar-brand pb-2" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarNavDropdown"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <i class="fas fa-project-diagram"></i> Productos <b class="caret"></b> </a> <ul class="dropdown-menu dropdown-menu--dark"> <li> <a class="dropdown-item" [routerLink]='["/ConsoProductos"]'> <i class="fa fa-align-left" aria-hidden="true"></i> Consolidado </a> </li> <li class="dropdown-submenu--dark"> <a class="dropdown-item dropdown-toggle" [routerLink]='["/RegistroProductos"]'> Registro de Productos </a> <ul class="dropdown-menu"> <li> <a class="dropdown-item"> Generación Nuevo Conocimiento </a> </li> <li> <a class="dropdown-item"> Desarrollo Tecnológico e Innovación </a> </li> <li> <a class="dropdown-item"> <i class="fa fa-align-left" aria-hidden="true"></i> Apropiación Social del Conocimiento </a> </li> </ul> </li> </ul> </li> <!-- Fin Menu productos --> </div> </nav>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM