首页 > web前端 > css教程 > 如何在 Bootstrap 下拉菜单中实现子菜单?

如何在 Bootstrap 下拉菜单中实现子菜单?

Susan Sarandon
发布: 2024-12-31 04:41:09
原创
989 人浏览过

How to Implement Submenus in Bootstrap Dropdowns?

解决 Bootstrap 下拉菜单中缺少子菜单的问题

简介

Bootstrap 3,流行前端的旧版本框架,缺乏一个专门的类来实现下拉菜单中的子菜单。这种缺席可归因于不断发展的网页设计趋势有利于更简单的界面和减少子菜单的使用。但是,有一些方法可以使用额外的 CSS 来实现子菜单功能。

Bootstraps 5(2023 年更新)

实现 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'
    })
})
登录后复制

或者,对导航栏使用 CSS dropdowns:

.dropdown-submenu {
    position: relative;
}
.dropdown-submenu > .dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -1px;
}
.navbar-nav li:hover > ul.dropdown-menu {
    display: block;
}
登录后复制

Bootstraps 4(2018 年更新)

由于删除了 Bootstrap 3 中的 dropdown-submenu 类,使用 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;
}
登录后复制

Bootstrap 3

CSS:

.dropdown-submenu {
    position: relative;
}

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

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

.dropdown-submenu > a:after {
    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;
}

.dropdown-submenu:hover > a:after {
    border-left-color: #ffffff;
}
登录后复制

标记:

<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>
登录后复制

以上是如何在 Bootstrap 下拉菜单中实现子菜单?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板