Испытание: многоуровневое меню 15/28

html,
body {
margin: 0;
padding: 0;
}

body {
width: 280px;
min-height: 280px;
padding: 10px;
font-family: “Arial”, sans-serif;
font-size: 14px;
line-height: 1.4;
background: #ecf0f1;
}

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

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

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

.main-menu > .active > a {
background: #1abc9c;
border-bottom: 2px solid #2c3e50;
}

.main-menu ul {
list-style: none;
padding: 0px;
}

.main-menu > .active > ul > li >a {
display: block;
background: #ffffff;
color: #2980b9;
text-decoration: underline;
}

Вопросы:

  1. Как решить проблему с двойными внутренними отступами в подменю? Если задавать верхний или нижний внутренний отступ, то все равно останется проблема либо с нижней ссылкой, либо с верхней.
  2. Почему .main-menu > li не действует на первый элемент главного меню, который с классом .active?

Разобрался с вопросом №1
Ответ как сейчас понимаю, прошу Вас прокомментировать

  1. Задаются отступы и подменю(10px), и ссылкам(5px). Но цвет задавать подменю.
    Остается вопрос №2. Почему .main-menu > li не действует на первый элемент главного меню, который с классом .active?
<li class="active">
        <a href="/courses">Курсы</a>
                <ul>
                    <li><a href="/courses/4">Знакомство</a></li>
                    <li><a href="/courses/42">Селекторы</a></li>
                    <li><a href="/courses/45">Позиционирование</a></li>
                </ul>
</li>

Отвечаю на ваш второй вопрос. Посмотрите внимательно на фрагмент кода. Это первый пункт меню. Внутри него находится подменю.

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

Это правило должно добавлять рамку снизу каждому пункту меню первого уровня. Оно сработало. Посмотрите, где находится закрывающий тег </li> - после подменю, именно там и появляется рамка.
Чтобы рамка была выше, нужно задавать ее для ссылки активного пункта.

Спасибо, очень доходчиво все объяснили.
Вопрос закрыт.