Erstellung von Menüs in CSS

In dieser Lektion werden wir üben, Website-Menüs zu erstellen. Lassen Sie uns als Beispiel das folgende Menü erstellen:

Zunächst müssen wir den HTML-Teil erstellen. Lassen Sie uns ein Div erstellen und darin die Links unseres Menüs platzieren:

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>

Wie Sie im Beispiel sehen können, wird einer der Menü-Links hervorgehoben. Er symbolisiert, dass wir uns auf der Website-Seite befinden, die diesem Menüpunkt entspricht. Solche Seiten werden üblicherweise mit der Klasse active hervorgehoben:

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>

Lassen Sie uns nun unsere Links in einer Reihe anordnen:

css#menu {
  display: flex;
}

Lassen Sie uns die Stile für unsere Links schreiben:

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

Lassen Sie uns die Reaktion der Links beim Überfahren mit der Maus gestalten:

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

Die Darstellung des aktiven Links stimmt mit der Darstellung des Links beim Überfahren mit der Maus überein. Lassen Sie uns diese Stile zusammenfassen:

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

Fassen wir den Code zusammen und erhalten den Code für unser Menü:

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