Bootstrap~多级导航(级联导航)的实现

简介:

在bootstrap官方来说,导航最多就是两级,两级以上是无法实现的,大叔找了一些第三方的资料,终于找到一个不错的插件,使用上和效果上都还不错,现在和大家分享一下

插件地址:http://vsn4ik.github.io/bootstrap-submenu/

先看一下,在大叔后台系统上的显示效果

下面说一下实现的方式

1 引用三个JS插件和一个CSS类库

    <script src="~/Content/bootstraps/JS/bootstrap-submenu.js"></script>
    <script src="~/Content/bootstraps/JS/highlight.min.js"></script>
    <script src="~/Content/bootstraps/JS/docs.js"></script>
    <link href="~/Content/bootstraps/CSS/bootstrap-submenu.css" rel="stylesheet" />

2 插入对应的HTML代码块,本例子没有使用递归生成代码,使用了静态的三级结构,这样看着更清晰,真正的生产环境建议使用递归去生产菜单

<ul class="nav nav-pills">

    @foreach (var item in Model)
    {
        if (item.Sons != null && item.Sons.Count > 0)
        {
                
        <li class="dropdown">
            <a data-submenu="" data-toggle="dropdown" tabindex="0">@item.MenuName<span class="caret"></span></a>
            <ul class="dropdown-menu">
                @foreach (var sub in item.Sons)
                {
                    if (sub.Sons != null && item.Sons.Count > 0)
                    {

                    <li class="dropdown-submenu">
                        <a tabindex="0">@sub.MenuName</a>
                        <ul class="dropdown-menu">
                            @foreach (var inner in sub.Sons)
                            {
                                <li>
                                    <a href="@inner.LinkUrl">@inner.MenuName</a>
                                </li>
                            }

                        </ul>
                    </li>
                    <li class="divider"></li>

                    }

                    else
                    {
                    <li><a href="@sub.LinkUrl">@sub.MenuName</a></li>
                    }
                }
            </ul>
        </li>
        }
        else
        {
        <li><a href="@item.LinkUrl">@item.MenuName</a></li>
        }
    }
</ul>

最后的效果就是第一个图了,值得注意的是,如果希望每个菜单之间使用分割线,可以添加  <li class="divider"></li>这行代码。

感谢各位的阅读!

 本文转自博客园张占岭(仓储大叔)的博客,原文链接:Bootstrap~多级导航(级联导航)的实现,如需转载请自行联系原博主。

目录
相关文章
|
索引 容器
Bootstrap4----网络系统、图像形状、轮播、滚动监听、多媒体对象、下拉菜单导航及按钮
Bootstrap4----网络系统、图像形状、轮播、滚动监听、多媒体对象、下拉菜单导航及按钮
|
前端开发 JavaScript 容器
|
JavaScript 前端开发
Bootstrap5 侧边栏导航(Offcanvas)1
Bootstrap5 的 Offcanvas 组件提供了一种在小屏幕设备上使用的侧边栏导航方案。通过添加 `.offcanvas` 类并结合 `data-bs-toggle=&quot;offcanvas&quot;` 属性,可实现侧边栏的显示与隐藏。支持通过链接的 `href` 或按钮的 `data-bs-target` 属性进行控制。
Bootstrap5 侧边栏导航(Offcanvas)3
通过设置 `data-bs-scroll` 和 `data-bs-backdrop` 属性,可以控制侧边栏弹出时元素的滚动行为和背景画布的显示。示例中展示了不同配置下的滚动效果和背景画布的使用方法。
Bootstrap5 侧边栏导航(Offcanvas)2
侧边栏可通过`.offcanvas-start`、`.offcanvas-end`、`.offcanvas-top`和`.offcanvas-bottom`类分别设置在页面的左、右、顶、底位置。示例代码展示了如何使用这些类创建不同方向的侧边栏,包括按钮触发和内容区域的定义。
Bootstrap5 导航7
胶囊状动态选项卡通过设置 `data-bs-toggle=&quot;pill&quot;` 实现,包含导航项和内容区两部分。导航项使用 `&lt;ul class=&quot;nav nav-pills&quot;&gt;` 定义,每个选项链接到对应的内容区,实现点击切换显示的效果。内容区由多个 `&lt;div class=&quot;tab-pane&quot;&gt;` 组成,根据导航项的选择显示相应内容。
Bootstrap5 导航6
动态选项卡允许用户通过点击链接切换不同内容。在每个链接上添加 `data-bs-toggle=&quot;tab&quot;` 属性,并在对应内容的 `&lt;div&gt;` 标签中使用 `.tab-pane` 和 `.tab-content` 类。若需淡入效果,可在 `.tab-pane` 后添加 `.fade` 类。
|
前端开发
Bootstrap5 导航5
示例展示了两种导航菜单:胶囊式和选项卡式,均包含活动链接、下拉菜单(含三个子链接)及禁用链接。这些菜单使用 Bootstrap 类实现响应式设计。
Bootstrap5 导航4
`.nav-pills` 类可将导航项设置为胶囊形状,使界面更加美观。通过添加 `.nav-justified` 类,可以使导航项等宽对齐,适用于不同屏幕尺寸的布局。示例代码展示了如何使用这些类创建胶囊导航和等宽导航。
Bootstrap5 导航3
使用 `.flex-column` 类可创建垂直导航,而 `.nav-tabs` 类则将导航转换为选项卡形式。通过添加 `.active` 类来标记当前选中的选项卡。示例代码展示了如何实现这些效果。