问题描述
Bootstrap 3 仍处于 RC 阶段,但我只是想实现它.我不知道如何放置子菜单类.即使在 css 中没有类,甚至新的文档也没有对此进行任何说明
它在 2.x 中存在,类名作为下拉子菜单
Bootstrap 5(2021 年更新)
添加一些 JavaScript 以防止子菜单在父下拉菜单打开时关闭.这可以通过切换 display:block
...
let dropdowns = document.querySelectorAll('.dropdown-toggle')dropdowns.forEach((dd)=>{dd.addEventListener('click', function (e) {var el = this.nextElementSiblingel.style.display = el.style.display==='block'?'none':'block'})})
Bootstrap 5 多级下拉菜单 - 单击
Bootstrap 5 多级下拉菜单 - 悬停
或者,您可以将这种仅 CSS 的方法用于导航栏下拉菜单...
.dropdown-submenu {位置:相对;}.dropdown-submenu .dropdown-menu {顶部:0;左:100%;边距顶部:-1px;}.navbar-nav li:hover >ul.下拉菜单{显示:块;}
Bootstrap 5 导航栏下拉悬停子菜单(仅限 CSS)
引导程序 4(2018 年更新)
dropdown-submenu
已在 Bootstrap 3 RC 中删除.用 Bootstrap 作者 Mark Otto 的话来说..
"子菜单目前在网络上没有太多位置,尤其是移动网络.它们将被删除 3.0"- https://github.com/twbs/bootstrap/pull/6342
但是,通过一些额外的 CSS,您可以获得相同的功能.
悬停时的导航栏子菜单:
.navbar-nav li:hover >ul.下拉菜单{显示:块;}.下拉子菜单{位置:相对;}.dropdown-submenu>.dropdown-menu {顶部:0;左:100%;边距顶部:-6px;}
导航栏子菜单下拉悬停
导航栏子菜单下拉悬停(右对齐)
导航栏子菜单下拉点击(右对齐)
导航栏下拉悬停(无子菜单)
引导程序 3
Here is an example that uses Bootstrap 3.0.0 (final): http://bootply.com/86684
CSS
.dropdown-submenu {
position:relative;
}
.dropdown-submenu>.dropdown-menu {
top:0;
left:100%;
margin-top:-6px;
margin-left:-1px;
-webkit-border-radius:0 6px 6px 6px;
-moz-border-radius:0 6px 6px 6px;
border-radius:0 6px 6px 6px;
}
.dropdown-submenu:hover>.dropdown-menu {
display:block;
}
.dropdown-submenu>a:after {
display:block;
content:" ";
float:right;
width:0;
height:0;
border-color:transparent;
border-style:solid;
border-width:5px 0 5px 5px;
border-left-color:#cccccc;
margin-top:5px;
margin-right:-10px;
}
.dropdown-submenu:hover>a:after {
border-left-color:#ffffff;
}
.dropdown-submenu.pull-left {
float:none;
}
.dropdown-submenu.pull-left>.dropdown-menu {
left:-100%;
margin-left:10px;
-webkit-border-radius:6px 0 6px 6px;
-moz-border-radius:6px 0 6px 6px;
border-radius:6px 0 6px 6px;
}
Sample Markup
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li class="menu-item dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Drop Down<b class="caret"></b></a>
<ul class="dropdown-menu">
<li class="menu-item dropdown dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 1</a>
<ul class="dropdown-menu">
<li class="menu-item ">
<a href="#">Link 1</a>
</li>
<li class="menu-item dropdown dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Level 2</a>
<ul class="dropdown-menu">
<li>
<a href="#">Link 3</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
</div>
P.S. - Example in navbar that adjusts left position: http://bootply.com/92442
这篇关于Bootstrap 下拉子菜单丢失的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!