bootstrap三级菜单_bootstrap 3 4
在网页设计中,实现一个美观且功能丰富的三级菜单对于提升用户体验至关重要。使用Bootstrap框架可以快速搭建响应式、交互性强的多级菜单。介绍如何基于Bootstrap 3和4创建三级菜单。
解决方案简述
通过利用Bootstrap自带的下拉菜单组件,并结合HTML结构和CSS样式调整,可以轻松构建三级菜单。我们将在原有Bootstrap下拉菜单基础上进行扩展,添加子级菜单项,确保其在不同屏幕尺寸下都能正常显示并保持良好的用户体验。
一、基于Bootstrap 3的三级菜单
HTML代码示例:
html</p>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#example-navbar-collapse">
<span class="sr-only">切换导航</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">品牌</a>
</div>
<div class="collapse navbar-collapse" id="example-navbar-collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">一级菜单 <b class="caret"></b></a>
<ul class="dropdown-menu multi-level">
<li class="dropdown-submenu">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">二级菜单</a>
<ul class="dropdown-menu">
<li><a href="#">三级菜单1</a></li>
<li><a href="#">三级菜单2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</nav>
</div>
<p>
CSS代码示例(如果需要自定义样式):
css
.dropdown-submenu {
position: relative;
}</p>
<p>.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;
}</p>
<p>.dropdown-submenu:hover>.dropdown-menu {
display: block;
}</p>
<p>.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;
}</p>
<p>.dropdown-submenu:hover>a:after {
border-left-color: #ffffff;
}
二、基于Bootstrap 4的三级菜单
Bootstrap 4对原有的样式进行了优化,同时增强了灵活性。以下是Bootstrap 4版本的三级菜单实现方式:
HTML代码示例:
html</p>
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">品牌</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-expanded="false">
一级菜单
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item dropdown-toggle" href="#" id="submenuDropdown" data-toggle="dropdown" aria-expanded="false">
二级菜单
</a>
<div class="dropdown-menu" aria-labelledby="submenuDropdown">
<a class="dropdown-item" href="#">三级菜单1</a>
<a class="dropdown-item" href="#">三级菜单2</a>
</div>
</div>
</li>
</ul>
</div>
</nav>
<p>
JavaScript代码(可选):
为了让Bootstrap 4的三级菜单更好地工作,我们可以添加一些JavaScript来处理子菜单的展开与收起逻辑:
```javascript
$(document).ready(function(){
$('.dropdown-menu a.dropdown-toggle').on('click', function(e) {
if (!$(this).next().hasClass('show')) {
$(this).parents('.dropdown-menu').first().find('.show').removeClass("show");
}
var $subMenu = $(this).next(".dropdown-menu");
$subMenu.toggleClass('show');
return false;
});
});
```
三、其他思路
除了上述两种方法外,还可以考虑以下几种方案:
1. 使用插件:网络上有许多现成的Bootstrap三级菜单插件,如bootstrap-multilevel-dropdown
等,可以直接引入项目中使用。
2. 纯CSS实现:虽然不推荐,但也可以尝试仅用CSS完成三级菜单的效果,不过兼容性和维护性可能会较差。
3. 结合JavaScript库:例如jQuery UI中的菜单组件也可以作为替代方案之一,根据具体需求选择合适的技术栈。
在实际开发过程中可以根据项目的具体情况选择最适合的方式来实现三级菜单。无论是采用原生Bootstrap组件还是借助第三方工具,关键是要保证菜单的功能性和易用性。
(本文地址:https://www.nzw6.com/35092.html)