Мастерская: создаём меню [28 задание]


#1

Всем доброго дня! Оцените пожалуйста код:

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

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

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

  background-color: #ecf0f1;
}

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

.main-menu > li > a {
  display: block;
  background-color: #2980b9;
  color: white;
  text-decoration: none;
  padding: 10px 15px;
  border-bottom: 2px solid #2c3e50;
}

.main-menu > li {
  position: relative;
}

.main-menu .open a {
  background-color: #1abc9c; 
}

.main-menu .sub-menu {
  width: 200px;
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 180px;
  list-style: none;
  background-color: #1abc9c;
  margin: 0;
  padding: 0;
}

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

Также возник вопрос, здесь мы задаем каждому элементу списка относительное позиционирование

.main-menu > li {
  position: relative;
}

Затем указываем, что подменю имеет абсолютное позиционирование. Как получилось что подменю начало позиционироваться от второго пункта меню, а не от какого-то другого?

.main-menu .sub-menu {
  width: 200px;
  display: block;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 180px;
  list-style: none;
  background-color: #1abc9c;
  margin: 0;
  padding: 0;
}

#2

В данном случае выпадающее меню в HTML расположено во втором пункте основного меню.
Позиционируется относительно родителя.

Если в HTML добавить в остальные элементы списка другие выпадающие меню,
– каждое из них будет позиционироваться относительно своего родителя…