15/28. Смотрится неплохо, но всего лишь 81.9%.

Друзья, требуется помощь. Уже 2 дня сижу, не пойму, почему не могу дойти даже до 90%. Что идёт не так? Подозреваю, что где-то избыточный или недостаточный padding и margin…

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

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

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

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

.main-menu li {
border-bottom: 2px solid #2c3e50;
margin: 0;
padding: 10px 5px;
background-color: #2980b9;
}

.main-menu > li > a {
text-decoration: none;
}

.main-menu a {
padding: 5px 10px;
color: white;
display: block;
}

.main-menu ul li {
border-bottom: none;
background-color: #ffffff;
padding: 5px 0 0;
}

.main-menu > .active > a {
color: white;
}

.main-menu .active {
background-color:#1abc9c;
padding: 10px 0 0;
}

.active ul {
border-top:2px solid #2c3e50;
margin-top: 10px;
}

.active a {
color: #2980b9;
}
Screenshot_2

Код изобилирует наслаивающимися паддингами, поэтому очень легко запутаться, какой и за что отвечает.
Предлагаю следующее:

  1. Убрать все отступы из кода, вернувшись на шаг назад;
  2. Прописать для всех ссылок общие отступы: padding: 10px 15px;;
  3. Для белого подменю прописать отступы отдельно: для первого и последнего элементов и для оставшихся:
.main-menu ul li:first-child{
  padding-top: 5px;
}
.main-menu ul li:last-child{
  padding-bottom: 15px;
}
.main-menu ul li a{
padding: 10px 0 0 15px;
}

Спасибо! Я, правда, в итоге немного по-другому сделала, но идея попробовать сделать padding, как вы написали, сработала. В итоге получилось так:

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

body {
width: 280px;
min-height: 280px;
padding: 10px;

font-size: 14px;
line-height: 1.4;
font-family: “Arial”, sans-serif;

background-color: #ecf0f1;
}

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

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

.active > a {
background-color: #1abc9c;
}

.main-menu > li > ul {
list-style: none;
padding: 10px 0;
background-color: #ffffff;
border-bottom: 2px solid #2c3e50;
}

.main-menu > .active > ul > li > a {
border-bottom: none;
color: #2980b9;
text-decoration: underline;
padding: 5px 15px;
}