[英]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-item
有display: 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.