28/28 Проверьте корректность кода

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;
}

.main-menu {
margin: 0px;
padding: 0px;
list-style: none;
width: 200px;
}

.main-menu>li>a {
text-decoration: none;
background: #2980b9;
color: #ffffff;
padding: 10px 15px;
display: block;
position: relative;
border-bottom: 2px solid #2c3e50;
}

.main-menu .sub-menu {
position: absolute;
top: 51px;
left: 190px;
list-style: none;
z-index: 10;
margin: 0px;
padding: 0px;
}

.main-menu .sub-menu li a{
text-decoration: none;
border-bottom: 2px solid #2ecc71;
}

.main-menu .opened a {
background: #1abc9c;
color: #ffffff;
padding: 10px 15px;
display: block;
width: 170px;
}

Для ссылок дважды display: block; написали. position: relative; нужно писать для li, потому что ссылка родителем по отношению к подменю не является. В вашем случае координаты всё равно рассчитываются относительно окна браузера.
Вместо ширины для ссылок подменю лучше прописать ширину для самого подменю.

Спасибо. Исправила.
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;
}

.main-menu {
margin: 0px;
padding: 0px;
list-style: none;
width: 200px;
}

.main-menu li {
position: relative;
}

.main-menu>li>a {
text-decoration: none;
background: #2980b9;
color: #ffffff;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50;
}

.main-menu a {
display: block;
}

.main-menu .sub-menu {
position: absolute;
top: 0px;
left: 180px;
list-style: none;
z-index: 10;
margin: 0px;
padding: 0px;
width: 200px;
}

.main-menu .sub-menu li a{
text-decoration: none;
border-bottom: 2px solid #2ecc71;
}

.main-menu .opened a {
background: #1abc9c;
color: #ffffff;
padding: 10px 15px;
}

Еще эти свойства являются общими для ссылок обоих уровней. А в остальном уже хорошо.

Спасибо