100% [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: 0;
padding: 0;
list-style: none;
}

.main-menu > li {
position: relative;
width: 200px;
}

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

.main-menu .opened > a {
background: #1abc9c;
display: block;
}

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

.main-menu .opened .sub-menu a {
display: block;
text-decoration: none;
color: #fff;
background: #1abc9c;
border-bottom: 2px solid #2ecc71;
padding: 10px 15px;
}

Ссылку блочной сделали трижды, одинаковые отступы для ссылок - дважды. О какой чистоте речь?..
Обратите внимание, у вас в задании два блока ссылок: ссылки основного меню и ссылки подменю. Сначала вы должны описать общие для ссылок всех уровней свойства, а ниже переопределить те, которые отличаются у ссылок подменю. А вы стилизуете каждый уровень отдельно, используя >, поэтому так много повторений.

1 лайк

Ок. Спасибо за замечания. Попытаюсь повторно.

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

.main-menu > li {
position: relative;
}

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

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

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

.main-menu .opened .sub-menu a {
background: #1abc9c;
border-bottom: 2px solid #2ecc71;
}

1 лайк