По мне так должно быть минимум кода.
Вот что из этого получилось )))
html,
body {
margin: 0;
padding: 0;
}
body {
width: 280px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}
a, li{text-decoration: none; list-style: none; color:#ffffff}
.main-menu {
width: 200px;
padding: 0;
margin: 0;
}
a{
display: block;
background: #2980b9;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}
.main-menu .active > a {
background: #1abc9c;
}
.main-menu .active ul > li a{
background: none;
border: none;
color: #2980b9;
padding: 5px 15px;
text-decoration: underline;
}
.main-menu .active ul {
margin: 0;
padding:10px 0;
background: #ffffff;
border-bottom: 2px solid #2c3e50;
}