[28/28] "top: 51px" не пойму почему так (100%)

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;
width:200px;
background: #2980b9;
margin:0;
padding:0;
}

a{
display:block;
color:#fff;
text-decoration: none;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}

.sub-menu {
position:absolute;
left: 190px;
top: 51px;
background: #1abc9c;
}
.opened{background: #1abc9c;}
.sub-menu a{border-bottom: 2px solid #2ecc71;}

Потому что ваше подменю позиционируется относительно окна браузера.

А вы очень смешной!!!))))
я писал сам этот код, и я как бы догадываюсь о позиционровании, не понятно почему 51px а не 50, в задании было написано кратно 5px

CмешнАЯ - была бы, наверное.
Давайте еще раз. Координаты при абсолютном позиционировании зависят от того, что выбрано точкой отсчета. По умолчанию - это верхний левый угол окна мини-браузера (в данном случае).
Чтобы выбрать другую точку отсчета координат, родительскому блоку задается относительное позиционирование. Вы этого не сделали, поэтому координата не соответствует правилу кратности пяти.