Sayuko
30.Январь.2017 06:39:20
1
Не могу задать подходящие отступы пунктам подменю. Помогите пожалуйста.
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;
margin: 0;
padding: 0;
list-style: none;
}
.main-menu ul {
margin: 0;
padding: 0;
list-style: none;
}
.main-menu > li {
background: #2980b9 ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu a {
display: block;
color: #ffffff ;
text-decoration: none;
padding: 10px 10px 10px 15px;
}
.main-menu > .active > a {
background: #1abc9c ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu li li a {
color: #2980b9 ;
text-decoration: underline;
background-color: #ffffff ;
}
скрин:
Sayuko
30.Январь.2017 06:52:46
2
Вот так получилось 100%, но по-моему я что-то намудрила…
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;
margin: 0;
padding: 0;
list-style: none;
}
.main-menu ul {
margin: 0;
padding: 15px 15px 5px 15px;
list-style: none;
background-color: #ffffff ;
}
.main-menu ul a:nth-child(1) {
padding-bottom: 10px;
}
.main-menu > li {
background: #2980b9 ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu a {
display: block;
color: #ffffff ;
text-decoration: none;
padding: 10px 10px 10px 15px;
}
.main-menu > .active > a {
background: #1abc9c ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu li li a {
padding: 0px;
color: #2980b9 ;
text-decoration: underline;
background-color: #ffffff ;
}
.main-menu ul a {
padding-top: 5px;
padding-bottom: 5px;
text-decoration: underline;
}
Ineska
30.Январь.2017 07:21:57
3
В общем мысль у вас правильная. Отступы подменю делятся на отступы между ссылками и отступы списка.
Sayuko:
.main-menu li li a
Sayuko:
.main-menu ul a
Эти два селектора выбирают одни и те же элементы. Можно записать всё в одном правиле.
Это правило лишнее здесь. Попробуйте обойтись без него.
Sayuko
30.Январь.2017 07:44:47
4
Вот так правильно?
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;
margin: 0;
padding: 0;
list-style: none;
}
.main-menu ul {
margin: 0;
padding: 10px 15px 10px 15px;
list-style: none;
background-color: #ffffff ;
}
.main-menu > li {
background: #2980b9 ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu a {
display: block;
color: #ffffff ;
text-decoration: none;
padding: 10px 10px 10px 15px;
}
.main-menu > .active > a {
background: #1abc9c ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu li li a {
padding: 0px;
color: #2980b9 ;
text-decoration: underline;
background-color: #ffffff ;
padding-top: 5px;
padding-bottom: 5px;
}
Ineska
30.Январь.2017 07:48:23
5
Здесь одной строкой можно написать: padding: 5px 0;
А в целом правильно.
Чтобы не плодить темы, спрошу тут. Задание на 100%. Оцените качество кода, пожалуйста.
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;
padding: 0px;
background: #2980b9 ;
margin-top: 0px;
}
.main-menu li {
list-style: none;
}
.main-menu > li {
padding-top: 10px;
padding-bottom: 10px;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu > li > a {
text-decoration: none;
color: #ffffff ;
padding-left: 15px;
}
.main-menu > li:first-child {
background: #1abc9c ;
padding-bottom: 0px;
}
.main-menu ul {
padding: 0px;
background: #ffffff ;
margin-top: 10px;
border-top: 2px solid #2c3e50 ;
}
.main-menu ul li {
padding: 5px 15px;
}
.main-menu ul li:first-child {
padding: 15px 0 5px 15px;
}
.main-menu ul li:last-child {
padding: 5px 0 15px 15px;
}
.active ul li a {
color: #2980b9 ;
}
Ineska
01.Февраль.2017 06:54:24
8
Здесь в селекторе лучше писать .active. Всё же главное, что вы стилизуете активный элемент меню, а не то, что он оказался первым по порядку.
Отступы сверху и снизу можно задать списку подменю, тогда код будет короче.
Добрый день, Ineska!
Снова обращаюсь к Вам за помощью. Не могу понять как обнулить отступы 2 пункта подменю.
Отправляю код и скрин.
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 {
margin: 0;
padding: 0;
list-style: none;
width: 200px;
}
.main-menu ul {
margin: 0;
padding: 0;
list-style: none;
}
.main-menu > li {
border-bottom: 2px solid #2c3e50 ;
}
.main-menu a {
display: block;
padding: 10px 15px;
text-decoration: none;
color: #ffffff ;
background-color: #2980b9 ;
}
.main-menu > .active > a {
background-color: #1abc9c ;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu li li a {
padding: 15px 15px;
background-color: #ffffff ;
color: #2980b9 ;
text-decoration: underline;
}
.main-menu li li a:nth-child(2) {
padding-top: 0;
padding-bottom: 0;
}
Tala
11.Март.2017 14:03:34
11
это правило выберет вторую ссылку внутри li. А разве у вас внутри каждого li больше одной ссылки? поэтому это правило и не работает.
По скрину видно, что расстояние между ссылками в подменю у вас гораздо больше, чем нужно, поэтому это правило нужно перепроверить:
ну и не забывать, что отступы можно задавать не только ссылкам, но и самому подменю целиком.
Спасибо!
Свою ошибку по a:nth-child(2) понял.
Тогда возвращаюсь к варианту .main-menu li li a { padding: 5px 15px;…
В этом случае интервал между пунктами подменю в норме.
Но теперь надо искать как увеличить на 10рх отступы сверху у 1-го пункта и снизу у последнего.
Проработал несколько вариантов селекторов для правила “padding: 10px 0;”, чтобы задать верхний и нижний отступы самому подменю целиком, но правильного не нашел.
Tala
11.Март.2017 15:47:10
14
.main-menu ul {padding: 10px 0;}
у вас точно не сработал?
1 лайк
Такой вариант, видимо, я не пробовал.
Теперь все стало как надо! 100%!
Спасибо!