Skapa meny i CSS

I den här lektionen ska vi öva på att skapa webbplatsmenyer. Låt oss som exempel göra följande meny:

Först måste vi göra HTML-delen. Låt oss skapa en div och placera länkar från vår meny i den:

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>

Som du ser på exemplet är en av länkarna i menyn markerad. Den symboliserar att vi befinner oss på webbplatssidan som motsvarar den menypositionen. Sådana sidor brukar markeras med klassen 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>

Låt oss nu ordna våra länkar i rad:

css#menu {
  display: flex;
}

Låt oss skriva stilarna för våra länkar:

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

Låt oss skapa en reaktion för länkar vid hovring:

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

Utseendet på den aktiva länken sammanfaller med utseendet på länken vid hovring. Låt oss kombinera dessa stilar:

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

Låt oss samla ihop koden och få koden för vår meny:

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