首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实现Bootstrap 5多级下拉垂直导航栏的干净方法是什么?

实现Bootstrap 5多级下拉垂直导航栏的干净方法是什么?
EN

Stack Overflow用户
提问于 2021-01-27 13:15:22
回答 2查看 4.3K关注 0票数 4

我想要一个响应式的垂直导航栏,我正试着用Bootstrap 5来获得它,我想要多级下拉菜单项。我确信有可能通过向CSS添加自定义代码来实现这一点,并且可以自己创建整个多级下拉功能,但我希望保持尽可能的干净。

我尝试了以下代码,但并没有转到子级别,而是出现了dropdown折叠。

代码语言:javascript
复制
<!-- Sidebar -->
<aside class="col-12 col-md-3 col-xl-2 p-0 bg-dark flex-shrink-1">
  <nav class="navbar navbar-expand-md navbar-dark bg-dark flex-md-column flex-row align-items-center py-2 text-center sticky-top" id="sidebar">
    <div class="text-center p-3">
      <h1 class="h1"><a href="home.php" class="navbar-brand mx-0 font-weight-bold text-nowrap">DrishyamTech</a></h1>
      <h1 class="text-white display-6"><?php echo $current_user_id; ?></h1>
    </div>

    <button type="button" class="navbar-toggler border-0 order-1" data-bs-toggle="collapse" data-bs-target="#nav" aria-controls="nav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse order-last" id="nav">
      <ul class="navbar-nav flex-column w-100 justify-content-center">
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" id="userHomeDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Home
          </a>
          <ul class="dropdown-menu dropdown-menu-dark dropdown-menu-end w-100 text-center" aria-labelledby="userHomeDropdown">
            <li><a class="dropdown-item" href="#">New Registration</a></li>
            <li class="dropdown">
              <a class="dropdown-item dropdown-toggle" href="#" id="getTopupDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                Get Top-up
              </a>
              <ul class="dropdown-menu dropdown-menu-dark dropdown-menu-end w-100 text-center" aria-labelledby="getTopupDropdown">
                <li><a class="dropdown-item" href="#">New Registration</a></li>
                <li><a class="dropdown-item" href="#">New Registration</a></li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </div>
    
  </nav>
</aside>

我搜索了很多,但现在我怀疑BS是否有满足我需求的内置功能。如果它不能做到这一点,那么实现这一点的最干净的方法是什么,最好不改变当前的代码(它适用于单级下拉菜单,但不适用于多级下拉列表)?

EN

回答 2

Stack Overflow用户

发布于 2021-03-04 16:11:14

通过将.dropend添加到父元素来触发元素右侧的下拉菜单。

基于Bootstrap 5 https://jsfiddle.net/dallaslu/mvk4uhzL/无限多级下拉菜单

票数 5
EN

Stack Overflow用户

发布于 2021-07-23 18:50:15

问得好!我也还在努力弄清楚这一点。我学到的一件事是,几年前有一个设计决定,下拉菜单只在点击时起作用,父项目是不可点击的。https://markdotto.com/2012/02/27/bootstrap-explained-dropdowns/ (通过https://getbootstrap.com/docs/5.0/components/dropdowns/)。

因此,我添加了一些vanillaj来实现悬停显示,同时仍然尽可能多地使用引导程序文档:https://mandrasch.github.io/11ty-plain-bootstrap5/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65913249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档