Испытание: выпадающее меню [28/28]. оцените мое решение, правда есть нюанс.

получилось на 100%( уже пиксели на глаз определяю), но top не кратен 5 (41px).
жду комментариев.

html,
body {
margin: 0;
padding: 0;
}

body {
width: 380px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}
ul {
list-style: none;
padding: 0;
margin: 0;
}
.main-menu {
margin: 0;
padding: 0;
background-color: #2980b9;
width: 200px;}
.main-menu li a {
display: block;
color: #ffffff;
padding: 10px 15px;
text-decoration: none;
border-bottom: 2px solid #2c3e50;
}
ul.main-menu {
position: relative;
}
ul.sub-menu {
width: 200px;
background-color: #1abc9c;
position: absolute;
left: 180px;
top: 41px;
}
li.opened a {
background-color: #1abc9c;
}
ul.sub-menu a {
border-color: #2ecc71;
}

Вы позиционируете подменю относительно всего списка, поэтому координата не кратна пяти. Подменю должно позиционироваться от конкретного пункта меню, к которому открывается.

Добрый день.
У меня тоже 100%, но не кратно 5.
Выходит, что такой вариант тоже не походит?

.main-menu > li > .sub-menu {
position: absolute;
background-color: #1abc9c;
list-style: none;
padding: 0px;
top: 51px;
left: 190px;

Весь код

.main-menu {
background-color: #2980b9;
padding: 0;
margin: 0;
width: 200px;
}
.main-menu > li {
list-style: none;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}
.main-menu li a {
text-decoration: none;
color: #ffffff;
}
.main-menu > li > .sub-menu {
position: absolute;
background-color: #1abc9c;
list-style: none;
padding: 0px;
top: 51px;
left: 190px;
}
.main-menu li:nth-child(2) {
background-color: #1abc9c;
}
.main-menu .sub-menu a {
display: block;
padding: 10px 15px;
width: 170px;
border-bottom: 2px solid #2ecc71;
}