Друзья, требуется помощь. Уже 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 ;
}
Eleven
20.Август.2020 09:34:58
2
Код изобилирует наслаивающимися паддингами, поэтому очень легко запутаться, какой и за что отвечает.
Предлагаю следующее:
Убрать все отступы из кода, вернувшись на шаг назад;
Прописать для всех ссылок общие отступы: padding: 10px 15px;
;
Для белого подменю прописать отступы отдельно: для первого и последнего элементов и для оставшихся:
.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;
}