HTML Academy Мастерская: создаём меню / Испытание: выпадающее меню [28/28] Критика

Прошло на 100% Ищу возможность оптимизации

ul {
list-style: none;
}

.main-menu {
padding: 0px;
margin: 0px;
background: #2980b9;
width: 200px;
}

.main-menu li a {
display: block;
color: #ffffff;
text-decoration: none;
padding: 10px 15px;
}

.main-menu > li > a {
border-bottom: 2px solid #2c3e50;
}

.main-menu .sub-menu {
padding: 0;
margin: 0;
position: absolute;
top: 51px;
left: 190px;
background: #1abc9c;
width: 200px;
}

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

.main-menu .opened {
background: #1abc9c;
}

выделенные жирным свойства можно перенести в правила для ul

и ещё вот это:
в одном случае вы используете рамку для ссылок:

в другом - для пунктов списка:

лучше, если это будет единообразно: или для ссылок, или li

+ координаты выпадающего меню должны быть относительно соответствующего пункта основного меню, а не от левого верхнего угла окна в браузере.

Думал про это и искал как сделать. Не получилось, можете подсказать как?

вот здесь разбирается https://htmlacademy.ru/courses/50/run/22

Не понимаю почему для .main-menu li нужно указать относительное позиционирование, можете объяснить?

Вы меняете точку отсчета координат. По умолчанию это верхний левый угол окна браузера.

То есть элементы с абсолютным позиционированием будут брать точку отсчета - родительский элемент, если родительский элемент относительного позиционирования?

Да, именно так.

Благодарю