Испытание: горизонтальное меню [20/28]. Мое решение на 100% и подробная инструкция.

Семантически-то надо через список. Стилизовать не нужно, как в этом курсе. Уже 8 лет как существуют флексы, а здесь зачем-то парятся с отрицательными маргинами, инлайнами и прочей устаревшей фигней.

Вот и все:

.main-menu {
  display: flex;
  margin-top: 0;
  padding: 0;
  list-style-type: none;
  
  background-color: #2980b9;
}

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

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

подскажите не легче ли сделать список-меню через флекс бокс ?

1 лайк

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

body {
width: 400px;
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
}
.main-menu li{
display:inline-block;
background-color:#2980b9;
border-left:2px solid #2c3e50;
padding:10px 15px;
margin-right:-5px;
}
.main-menu li a{
text-decoration: none;
color: white;
display: block
}
.main-menu li:last-child a{
padding-right: 27px
}
li.active{
background-color:#1abc9c;
}

Я не супер-специалист, но мне кажется флэксами гораздо проще

Спасибо большое. Все понятно и просто. Я кстати тоже задумывался над тем что надо ли использовать ссылки для создания меню