Bootstrap 3还在RC中,但我只是在try 实现它.我想不出怎么放子菜单类.即使CSS中没有类,甚至新的文档也没有对此做任何说明

它在第二天就出现了.类名为下拉子菜单的x

推荐答案

Bootstrap 5 (update 2021)

添加一些JavaScript以防止在父下拉列表打开时关闭子菜单.这可以做到display:block...

let dropdowns = document.querySelectorAll('.dropdown-toggle')
dropdowns.forEach((dd)=>{
    dd.addEventListener('click', function (e) {
        var el = this.nextElementSibling
        el.style.display = el.style.display==='block'?'none':'block'
    })
})

Bootstrap 5 Multi-level Dropdown - click
Bootstrap 5 Multi-level Dropdown - hover

或者,您可以将此仅CSS方法用于导航栏下拉菜单.

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -1px;
}

.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}

Bootstrap 5 Navbar Dropdown Hover Submenus (CSS only)


Bootstrap 4 (update 2018)

在Bootstrap 3 RC中已删除dropdown-submenu.用Bootstrap的作者马克·奥托的话说.

"子菜单目前在网络上没有太大的位置,特别是在移动网络上.它们将在3.0版中被移除."-https://github.com/twbs/bootstrap/pull/6342

但是,只要多加一点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;
}

Navbar submenu dropdown hover
Navbar submenu dropdown hover (right aligned)
Navbar submenu dropdown click (right aligned)
Navbar dropdown hover (no submenu)


Bootstrap 3

以下是使用3.0 RC 1:http://bootply.com/71520的示例

下面是一个使用Bootstrap 3.0.0(最终版本)的示例:100

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>

附注-导航栏中调整左侧位置的示例:http://bootply.com/92442

Css相关问答推荐

CSS Grid,意想不到的差距

如何提高数学输出的质量?

将CSS更改为Mat-Form-Field,其中包含搜索框

如何将另一种自定义位置 colored颜色 添加到三角形CSS中?

如何将此 Select 器转换为TailWind类

你能混合固定/相对定位吗?

仅 Select 嵌套 div 的底部,而不知道它们的嵌套程度

为什么align-content:start应用于单行项目?

有没有办法在 CSS 字体速记中使用数字字体粗细?

如何在启动时滚动 div 的底部?

我怎样才能让我所有的网格列的高度等于最短列的高度

如何为以下布局安排网格?

在活动状态下更改按钮的外观

使用 MUI 动态绘制多个边框

使用css水平+垂直翻转/镜像图像

如何定位 CSS 网格布局中的特定列或行?

让 div 占据 100% 身体高度,减go 固定高度的页眉和页脚

在 CSS3 中重新启动动画:比删除元素更好的方法吗?

从样式设置为 % 的元素获取宽度(以像素为单位)?

我如何*真正*证明 HTML+CSS 中的水平菜单?