当前位置: 首页 > 知识库问答 >
问题:

缺少引导下拉子菜单

鲁彬炳
2023-03-14

Bootstrap3仍在RC中,但我只是尝试实现它。我不知道如何设置子菜单类。即使css中没有类,即使是新文档也没有提到它

它存在于2. x中,类名为下拉子菜单

共有3个答案

端木令雪
2023-03-14

直到今天(2014年1月9日)Bootstrap 3仍然不支持子菜单下拉。

我搜索谷歌响应导航菜单,发现这是最好的我虽然。

这是智能菜单http://www.smartmenus.org/

我希望这是任何人谁想要与多级子菜单导航菜单的出路。

更新2015-02-17智能菜单现在完全支持子菜单的引导元素样式。欲了解更多信息,请查看智能菜单网站

拓拔元徽
2023-03-14

@skelly解决方案很好,但在移动设备上不起作用,因为悬停状态不起作用。

我添加了一点JS来恢复BS 2.3.2行为。

PS:它将与您获得的CSS一起工作:http://bootply.com/71520 尽管您可以评论以下部分:

CSS:

/*.dropdown-submenu:hover>.dropdown-menu{display:block;}*/

JS:

$('ul.dropdown-menu [data-toggle=dropdown]').on('click', function(event) {
  // Avoid following the href location when clicking
  event.preventDefault();
  // Avoid having the menu to close when clicking
  event.stopPropagation();
  // If a menu is already open we close it
  $('ul.dropdown-menu [data-toggle=dropdown]').parent().removeClass('open');
  // opening the one you clicked on
  $(this).parent().addClass('open');
});

结果可以在我的WordPress主题上找到(页面顶部):http://shprinkone.julienrenaux.fr/

羊禄
2023-03-14

引导5(更新2021)

添加一些JavaScript,以防止父下拉列表打开时子菜单关闭。这可以通过切换显示:块...

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'
    })
})

引导5多级下拉菜单-单击
引导5多级下拉菜单-悬停

或者,您可以使用此CSS唯一的方法为Navbar下拉列表...

.dropdown-submenu {
  position: relative;
}

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

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

引导5导航栏下拉悬停子菜单(仅CSS)

Bootstrap 4(2018年更新)

在Bootstrap 3 RC中,下拉子菜单已被删除。用Bootstrap作者MarkOtto的话来说。。

“子菜单现在在网络上没有太大的位置,尤其是移动网络。他们将被删除与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;
}

导航栏子菜单下拉悬停
导航栏子菜单下拉悬停(右对齐)
导航栏子菜单下拉单击(右对齐)
导航栏下拉悬停(无子菜单)

引导程序3

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

下面是一个使用Bootstrap 3.0.0(最终)的示例: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;
}

样本标记

<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.-导航栏中调整左侧位置的示例:http://bootply.com/92442

 类似资料:
  • 关于我的上一个问题(bootstrap上的下拉菜单不起作用),我正在为li下拉菜单的子菜单构建一个子菜单。这意味着它是嵌套的。银行菜单下有交易下拉菜单,交易下拉菜单下有不同类型交易的菜单。顺便说一下,我已经成功地创建了它,但是在悬停期间,“事务”模块的子菜单出现在事务菜单的前面,阻止了作为事务的父菜单。在悬停期间,如何避免它并将其放置在事务菜单的右侧?不管怎样,我已经使用了“右下拉菜单”,但它不会

  • 在Bootstrap 4中最简单的方法是什么?我在SO上找到的所有示例要么太乱,要么没有包含在NAV中。 我试过把下拉列表放在下拉列表中,但这似乎不起作用。有人能帮我弄一下这个吗? 下面是我的代码的基本大纲: null null

  • 嗨,我正在尝试自动启动下拉菜单。默认情况下,它的可见性是隐藏的。将鼠标悬停在它上面时,它的可见性属性显示为可见。我可以单击下拉菜单,但是在单击下拉菜单后,我的selenium脚本不能从下拉菜单中选择值。 错误:线程"main"org.openqa.selenium.ElementNotVisibleException异常:无法单击元素 HTML代码段

  • 所以我有一个使用Bootstrap的菜单系统,基本上是试图阻止下拉框项采用以下适用于

  • 我正在尝试创建多个包含弹出窗口链接的下拉按钮。这是我的HTML代码: 每当我单击下拉菜单时,就会出现以下错误: zone-evergreen.js:171未捕获的TypeError:无法读取null的属性“set attribute” 为什么我一直得到这个错误,我该如何修复它?

  • 问题内容: Bootstrap 3仍在RC中,但是我只是在尝试实现它。我不知道如何放置一个子菜单类。甚至CSS中没有类,甚至新文档也没有说什么 它在2.x中存在,类名称为dropdown-submenu 问题答案: 更新于2018 该自举3 RC已被删除。用Bootstrap作者Mark Otto的话来说。 “子菜单现在在网络上没有什么位置,特别是在移动网络上。它们将在3.0中删除。” 但是,仅需