Създаване на меню в CSS

В този урок ще се упражняваме да създаваме менюта за сайтове. Нека за пример направим следното меню:

Като начало трябва да направим HTML частта. Нека направим div, като поставим в него връзките на нашето меню:

html<div id="menu">
  <a href="#">link text 1</a>
  <a href="#">link text 2</a>
  <a href="#">link text 3</a>
  <a href="#">link text 4</a>
  <a href="#">link text 5</a>
</div>

Както виждате в примера, една от връзките в менюто е осветена. Тя символизира, че се намираме на страницата на сайта, съответстваща на този елемент от менюто. Такива страници обикновено се осветяват с помощта на клас active:

html<div id="menu">
  <a href="#">link text 1</a>
  <a href="#" class="active">link text 2</a>
  <a href="#">link text 3</a>
  <a href="#">link text 4</a>
  <a href="#">link text 5</a>
</div>

Сега нека подредим нашите връзки в ред:

css#menu {
  display: flex;
}

Нека напишем стиловете за нашите връзки:

css#menu a {
  margin-right: 5px;
  padding: 10px;
  font: 15px Arial;
  text-decoration: none;
  color: #1437AD;
  border: 1px solid #1437AD;
  background-color: white;
}

Нека направим реакция на връзките при посочване:

css#menu a:hover {
  color: blue;
  border: 1px solid blue;
  background-color: #F5F6FA;
}

Видът на активната връзка съвпада с вида на връзката при посочване. Нека обединим тези стилове заедно:

css#menu a:hover, #menu a.active {
  color: blue;
  border: 1px solid blue;
  background-color: #F5F6FA;
}

Нека съберем кода заедно и ще получим кода за нашето меню:

html<div id="menu">
  <a href="#">link text 1</a>
  <a href="#" class="active">link text 2</a>
  <a href="#">link text 3</a>
  <a href="#">link text 4</a>
  <a href="#">link text 5</a>
</div>
css#menu {
  display: flex;
}
#menu a {
  margin-right: 5px;
  padding: 10px;
  font: 15px Arial;
  text-decoration: none;
  color: #1437AD;
  border: 1px solid #1437AD;
  background-color: white;
}
#menu a:hover, #menu a.active {
  color: blue;
  border: 1px solid blue;
  background-color: #F5F6FA;
}
Задание 1
Задание 2
Задание 3