Dropdown-Menü
Teil des Abschnitts Praktisches Frontend der HTML-Journey von Coddy. Lektion 20 von 35.
Ein Dropdown-Menü ist ein Navigationselement, das weitere Links anzeigt, wenn der Benutzer den Mauszeiger darüber bewegt oder es fokussiert. Dropdown-Menüs können zwar mit JavaScript erstellt werden, in diesem Kapitel konzentrieren wir uns auf einen CSS-only-Ansatz, der :hover oder :focus-within verwendet, um das ausgeblendete Menü anzuzeigen.
Warum man sie verwendet:
- Spart Platz in Navigationsleisten.
- Hält die Benutzeroberfläche sauber und übersichtlich.
- Funktioniert bei richtiger Anpassung gut für Mobile-First- und responsive Designs.
HTML:
<div class="dropdown">
<button class="dropdown-button">Menu</button>
<div class="dropdown-content">
<a href="#">Option 1</a>
<a href="#">Option 2</a>
<a href="#">Option 3</a>
</div>
</div>CSS:
//Das .dropdown ist position: relative
//damit der Dropdown-Inhalt mit position: absolute korrekt positioniert werden kann.
.dropdown {
position: relative;
display: inline-block;
}//Der .dropdown-content ist standardmäßig mit display: none ausgeblendet.
.dropdown-content {
display: none;
position: absolute;
}//Wenn der Benutzer den Mauszeiger über den .dropdown-Container bewegt,
//wird der .dropdown-content mit display: block angezeigt.
.dropdown:hover .dropdown-content {
display: block;
}Mit diesem Code wird der Dropdown-Inhalt angezeigt, wenn du mit der Maus über den Dropdown-Container (einschließlich der Schaltfläche) fährst.
Aufgabe
EinfachDir wird das HTML für ein Dropdown-Menü mit einer Schaltfläche mit der Beschriftung „Farbe auswählen“ und drei Optionen angezeigt: Rot, Grün, Blau.
Deine Aufgabe besteht darin, das Dropdown-Menü mit CSS so zu gestalten, dass:
- Die Optionen standardmäßig ausgeblendet sind.
- Die Optionen sichtbar werden, wenn der Benutzer mit der Maus über den Dropdown-Container fährt.
Probier es selbst
<!DOCTYPE html>
<html>
<head>
<title>Dropdown menu</title>
<style>
body {
font-family: Arial, sans-serif;
padding: 50px;
background-color: #f0f0f0;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-button {
padding: 10px 20px;
font-size: 16px;
cursor: pointer;
border: 1px solid #333;
border-radius: 5px;
background-color: #ffffff;
}
.dropdown-content {
position: absolute;
top: 100%;
left: 0;
background-color: #ffffff;
min-width: 160px;
border: 1px solid #ccc;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
display: block;
padding: 10px;
text-decoration: none;
color: #333;
}
.dropdown-content a:hover {
background-color: #f2f2f2;
}
/* Show dropdown on hover or focus */
.dropdown:hover .dropdown-content,
.dropdown:focus-within .dropdown-content {
}
</style>
</head>
<body>
<div class="dropdown">
<button class="dropdown-button">Select Color</button>
<div class="dropdown-content">
<a href="#">Red</a>
<a href="#">Green</a>
<a href="#">Blue</a>
</div>
</div>
</body>
</html>
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Praktisches Frontend
1Variablen
VariablenCSS-Variablen verwendenVariablen für Design-TokensLokale VariablenRückblick-Herausforderung7Abschließende Herausforderungen
ProfilkarteSchokoladengalerie-RasterSieben WeltwunderNeue sieben WeltwunderÜbe selbstständig: Web-Playground