正在使用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
具有CSS,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>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句