Мастерская: создаём меню [9/28] | Хотел бы услышать критику кода, его читаемость, правильность

Сделал испытание на 100% сам, смотря как правильно его делать по предыдущим заданиям.
Хотел бы узнать от вас, насколько код правильный, в чём мои ошибки, на будущее учту что и как лучше сделать)

HTML:

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<title>Испытание: вертикальное меню</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<ul class="main-menu">
<li><a href="#">Курсы</a></li>
<li class="active"><a href="#">Интенсивы</a></li>
<li><a href="#">Профессия</a></li>
<li><a href="#">Подписка</a></li>
<li><a href="#">Профиль</a></li>
</ul>
</body>
</html>

CSS:

Можно сократить:

  1. Задать border-bottom ссылке, а не элементу списка.
  2. Удалить margin-bottom и padding-bottom у ссылок в main-menu
  3. Удалить padding-bottom у ссылки в .active

чтобы улучшить читаемость: используйте в качестве отступов по 2 пробела, в начале строки, чтобы отделять разделы.

рамку активного элемента лучше задавать элементу li, соответственно у активного элемента у рамки меняется только цвет, не надо переопределять то, что и так хорошо.

много лишних паддингов, он должен быть только у li и сбрасываться у ul
маржин не нужен вообще

должно получиться как то так:

html
<!DOCTYPE html>
<html lang="ru">
  <head>
    <meta charset="utf-8">
    <title>Испытание: вертикальное меню</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <ul>
      <li><a href="#">Курсы</a></li>
      <li class="active"><a href="#">Интенсивы</a></li>
      <li><a href="#">Профессия</a></li>
      <li><a href="#">Подписка</a></li>
      <li><a href="#">Профиль</a></li>
    </ul>
  </body>
</html>
css
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;
}
ul {
  list-style: none;
  padding: 0;
  width: 200px;
}
li {
  background-color: #2980b9;
  border-bottom: 2px solid #2c3e50;
  padding: 10px 15px;
}
a {
  color: #ffffff;
  display: block;
  text-decoration: none;
}
.active {
  background-color: #1abc9c;
  border-bottom-color: #2ecc71;

а вот здесь я с вами поспорю: задавая паддинги ссылкам (а не лишкам) мы увеличиваем область клика и получаем плюс в карму от пользователя.

1 лайк

да можно и не спорить, тогда да, лучше ссылке паддинги отдать (забыл, что слева не кликабельно).