28/28 [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;
}

.main-menu {
    margin: 0;
    padding: 0;
}

.main-menu li {
    list-style: none;
}

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

.main-menu .opened {
    position: relative;
}
    
.main-menu .opened a {
    background: #1abc9c;
}
    
.main-menu .sub-menu {
    position: absolute;
    left: 140px;
    top: 0px;
}

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

.main-menu .sub-menu li a {
    color: white;
    text-decoration: none;
    display: block;
    padding: 10px 15px;
    width: 170px;
}

Маркеры лучше убирать у списка ul.

Ширину лучше задавать тоже контейнеру - то есть .main-menu, .sub-menu.

1 лайк

Благодарю за подсказку, исправился:

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: 0;
    padding: 0;
    width: 200px;
}

ul {
    list-style: none;
}

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

.main-menu .opened {
    position: relative;
}
    
.main-menu .opened a {
    background: #1abc9c;
}
    
.main-menu .sub-menu {
    position: absolute;
    left: 140px;
    top: 0px;
    width: 200px;
}

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

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