Roma
26.Апрель.2016 18:10:10
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;
padding: 0px;
margin: 0px;
}
.main-menu .active>a {
display: block;
border-bottom: 2px solid #2C3E50 ;
background-color: #1ABC9C ;
padding: 10px 15px;
}
.main-menu>li {
background-color: #2980B9 ;
border-bottom: 2px solid #2C3E50 ;
list-style: none;
padding: 0px;
}
.main-menu ul {
list-style: none;
margin: 0;
background-color:#FFFFFF ;
padding: 0px;
padding: 10px 15px;
}
.main-menu>li>a {
display: block;
text-decoration: none;
color:#FFFFFF ;
padding: 10px 15px;
}
.main-menu ul li {
padding:5px 0px;
}
.main-menu ul a {
color:#2980B9 ;
}
1 лайк
Ineska
26.Апрель.2016 18:16:27
2
Всё хорошо написано, даже придираться не к чему. Ну разве что если величина отступа равна нулю, то единица измерения не пишется: padding: 0; padding: 5px 0;
2 лайка
Мне кажется ваш код можно упростить
Вместо
.main-menu .active>a {
display: block;
border-bottom: 2px solid #2C3E50 ;
background-color: #1ABC9C ;
padding: 10px 15px;
}
оставить лишь
**.main-menu .active>a { **
background-color: #1ABC9C ;
}
т.к. все остальные свойства переходят от .main-menu>li>a {
и логичней, border-bottom: 2px solid #2C3E50 ; указать
не в пунктах меню, а в ссылках (т.е. в .main-menu>li>a {, тогда не надо задавать дополнительно нижнюю границу для активного блока) и
блоку подменю, т.е. в .main-menu ul {
Здесь
.main-menu ul {
list-style: none;
margin: 0;
background-color:#FFFFFF ;
padding: 0px;
padding: 10px 15px;
}
и здесь
.main-menu>li {
background-color: #2980B9 ;
border-bottom: 2px solid #2C3E50 ;
_list-style: none; _
padding: 0px;
}
убрать margin и padding с нулевыми значениями.
т.о. весь код сократится до:
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;
margin: 0px;
}
.main-menu .active>a {
background-color: #1ABC9C ;
}
.main-menu>li {
background-color: #2980B9 ;
list-style: none;
}
.main-menu ul {
list-style: none;
background-color:#FFFFFF ;
padding: 10px 15px;
border-bottom: 2px solid #2C3E50 ;
}
.main-menu>li>a {
display: block;
text-decoration: none;
color:#FFFFFF ;
padding: 10px 15px;
border-bottom: 2px solid #2C3E50 ;
}
.main-menu ul li {
padding:5px 0px;
}
.main-menu ul a {
color:#2980B9 ;
}
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 {
padding:0px;
margin:0px;
width:200px;
}
.main-menu>li {
background-color:#2980B9 ;
}
.main-menu>li>a {
text-decoration:none;
color:#FFFFFF ;
display:block;
padding:10px;
border-bottom:2px solid #2C3E50 ;
padding-left:15px;
}
.main-menu .active >a {
background-color:#1ABC9C ;
}
.main-menu ul {
list-style:none;
background-color:#FFFFFF ;
padding: 10px 15px;
border-bottom: 2px solid #2C3E50 ;
}
.main-menu a {
display:block;
padding:5px;
padding-left:0px;
color:#2980B9 ;
}
2 лайка
Забавно, я тоже использовала .main-menu > li но для другого селектора - выходит от него можно избавиться (background в .main-menu).
.main-menu {
width: 200px;
margin: 0;
padding: 0;
background: #2980b9;
}
.main-menu > li {
border-bottom: 2px solid #2c3e50;
}
.main-menu li a {
display: block;
text-decoration: none;
list-style: none;
padding: 10px 15px;
color: #fff;
}
.main-menu .active {
background: #1abc9c;
}
.main-menu ul {
padding: 10px;
list-style: none;
background: #fff;
border-top: 2px solid #2c3e50;
}
.main-menu li li a {
padding: 5px;
color: #2980b9;
text-decoration: underline;
}
Matrix
06.Март.2017 17:32:09
7
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;
margin: 0px;
list-style: none;
}
.main-menu>li {
background-color: #2980b9 ;
}
.main-menu>li>a {
text-decoration: none;
color: #ffffff ;
display: block;
padding: 10px 15px;
border-bottom: 2px solid #2c3e50 ;
}
.main-menu ul {
display: block;
border-bottom: 2px solid #2c3e50 ;
padding: 10px;
list-style: none;
background: #ffffff ;
}
.active li {
padding: 5px 5px;
}
.active li a {
color: #2980b9 ;
}
.main-menu>li:hover {
background: #1abc9c ;
}
.main-menu>li:nth-child(1) {
background: #1abc9c ;
}
Tala
06.Март.2017 17:50:37
8
а почему вы в случае основного меню паддинги прописали ссылкам, а в случае подменю - уже для li? чем ссылки в подменю хуже, что вы их отступами обделили?
Matrix
06.Март.2017 18:07:28
9
По другому не получалось и, основываясь на визуализации, я нашел такое решение, как всегда оригинальное )))
Tala
06.Март.2017 18:15:48
10
а если из вот этого правила:
.active li {
padding: 5px 5px;
}
паддинги перенести вот сюда:
.active li a {
color: #2980b9;
}
задавать отступы именно ссылкам, а не пунктам меню, рекомендуется для того, чтобы увеличить площадь ссылки: больше площадь - легче по ней попасть. В общем, заботимся о пользователе
Matrix
06.Март.2017 18:18:34
11
Тут я уже думал о цвете, т.к. отступы пришли в норму ))) Я не волшебник!!! Я только учусь )))