<ul class="menu">
<li><a href="#">Item name</a></li>
<li><a href="#" class="menu__dropdown">Item name</a>
<ul class="submenu">
<li><a href="#">Sub menu</a></li>
<li><a href="#" class="menu__dropdown">Sub menu</a>
<ul class="submenu">
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
<li><a href="#">Sub menu</a></li>
</ul>
</li>
<li><a href="#">Sub menu</a></li>
</ul>
</li>
<li><a href="#">Item name</a></li>
<li><a href="#">Item name</a></li>
<li><a href="#">Item name</a></li>
</ul>
body {
padding: 50px;
font-family: sans-serif;
}
.menu {
width: 200px;
border: 1px solid #ccc;
border-bottom: none;
}
.menu li a {
text-decoration: none;
color: #000;
display: block;
padding: 15px 10px;
border-bottom: 1px solid #ccc;
position: relative;
transition: all 0.5s;
}
.menu li a:hover {
background-color: #eee;
}
.menu__dropdown:after {
content: '+';
position: absolute;
display: block;
top: 50%;
right: 10px;
transform: translateY(-50%);
transition: all 0.5s;
}
.menu__dropdown.active:after {
content: '-';
}
.submenu {
display: none;
}
.submenu li a {
padding-left: 20px;
}
.submenu li .submenu li a {
padding-left: 30px;
}
$(document).ready(function() {
$('.menu__dropdown').on('click', function() {
$(this).next('.submenu').toggle(600);
$(this).toggleClass('active');
})
})
This Pen doesn't use any external CSS resources.