写一段可折叠展开的侧边导航栏代码,主菜单1和主菜单2各包含3个子菜单,展开时子菜单位于相应主菜单的下方,下一主菜单向下移
时间: 2024-02-27 15:52:23 浏览: 18
好的,以下是一个可折叠展开的侧边导航栏代码,主菜单1和主菜单2各包含3个子菜单,展开时子菜单位于相应主菜单的下方,下一主菜单向下移:
HTML代码:
```
<div class="sidenav">
<a href="#">主菜单1 <i class="fa fa-caret-down"></i></a>
<div class="subnav">
<a href="#">子菜单1</a>
<a href="#">子菜单2</a>
<a href="#">子菜单3</a>
</div>
<a href="#">主菜单2 <i class="fa fa-caret-down"></i></a>
<div class="subnav">
<a href="#">子菜单1</a>
<a href="#">子菜单2</a>
<a href="#">子菜单3</a>
</div>
</div>
```
CSS代码:
```
.sidenav {
height: 100%;
width: 200px;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: #f0f0f0;
overflow-x: hidden;
padding-top: 20px;
}
.sidenav a {
padding: 6px 8px 6px 16px;
text-decoration: none;
font-size: 18px;
color: #818181;
display: block;
border: none;
background-color: inherit;
width: 100%;
text-align: left;
cursor: pointer;
}
.sidenav a:hover, .subnav a:hover {
color: #f1f1f1;
}
.sidenav a i {
float: right;
}
.subnav {
display: none;
padding-left: 15px;
}
.subnav a {
font-size: 15px;
}
.active {
background-color: #4CAF50;
color: white;
}
@media screen and (max-height: 450px) {
.sidenav {padding-top: 15px;}
.sidenav a {font-size: 18px;}
}
```
JavaScript代码:
```
$(document).ready(function(){
$('.sidenav a').click(function(){
$(this).next('.subnav').slideToggle();
$(this).parent().siblings().children('.subnav').slideUp();
$(this).toggleClass('active');
$(this).parent().siblings().children('a').removeClass('active');
});
});
```
这段代码使用了 jQuery 库,所以需要在代码头部导入 jQuery 库。