Mobile-First-Navigation
Teil des Abschnitts Practical Frontend der HTML-Journey von Coddy — Lektion 8 von 35.
Mobile-First-Navigation bedeutet, mit einem einfachen, touch-freundlichen Menü für kleine Bildschirme zu beginnen und dieses dann für größere Bildschirme zu erweitern.
Beginnen Sie mit einer einfachen mobilen Navigationsstruktur: Fügen Sie innerhalb des <nav>-Elements eine Schaltfläche und eine Liste hinzu.
<nav class="main-nav">
<button class="menu-toggle">Menu</button>
<ul class="nav-list">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>Wenden Sie zuerst das Mobile-Styling an. Auf kleinen Bildschirmen → zeigen Sie eine „Menü“-Schaltfläche an und blenden Sie die Liste aus.
.menu-toggle {
display: block;
//weitere Styles
}
.nav-list {
display: none;
//weitere Styles
}Verwenden Sie dann Media Queries für größere Bildschirme. Auf größeren Bildschirmen → zeigen Sie das Menü als horizontale Liste oben an und blenden Sie eine „Menü“-Schaltfläche aus.
@media (min-width: 768px) {
.menu-toggle {
display: none;
}
.nav-list {
display: flex;
}
}Dieser Ansatz stellt sicher, dass die Navigation zuerst für mobile Geräte optimiert und dann für größere Bildschirme erweitert wird.
Aufgabe
EinfachGegeben ist eine HTML-Datei mit einer Navigation, die eine Menü-Schaltfläche und eine Liste enthält. Derzeit ist die Liste immer sichtbar.
Ihre Aufgabe ist es, den Mobile-First-Navigationsstil zu korrigieren, indem Sie:
- Die Navigationsliste standardmäßig auf mobilen Bildschirmen ausblenden.
- Die Navigationsliste auf größeren Bildschirmen sichtbar machen (
display: flex).
Spickzettel
Mobile-First-Navigation beginnt mit einem einfachen, touch-freundlichen Menü für kleine Bildschirme und erweitert dieses dann für größere Bildschirme.
Grundlegende mobile Navigationsstruktur:
<nav class="main-nav">
<button class="menu-toggle">Menu</button>
<ul class="nav-list">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>Mobiles Styling (Button anzeigen, Liste ausblenden):
.menu-toggle {
display: block;
}
.nav-list {
display: none;
}Desktop-Styling mit Media Queries (Button ausblenden, horizontale Liste anzeigen):
@media (min-width: 768px) {
.menu-toggle {
display: none;
}
.nav-list {
display: flex;
}
}Probier es selbst
<!DOCTYPE html>
<html>
<head>
<title>Mobile-First Navigation</title>
<style>
:root {
--primary-color: #4a6de5;
--text-color: #333333;
}
.nav-container {
display: flex;
justify-content: space-between;
align-items: center;
}
.logo {
font-weight: bold;
color: var(--primary-color);
text-decoration: none;
font-size: 1.5rem;
}
.menu-toggle {
display: block;
background-color: var(--primary-color);
color: white;
border: none;
padding: 0.5rem 1rem;
cursor: pointer;
}
.nav-list {
list-style: none;
padding: 0;
margin: 1rem 0 0 0;
width: 100%;
}
.nav-list li a {
color: var(--text-color);
text-decoration: none;
display: block;
padding: 0.5rem 0;
}
@media (min-width: 768px) {
.menu-toggle {
display: none;
}
.nav-list {
margin: 0;
width: auto;
}
.nav-list li {
margin: 0 0 0 1.5rem;
}
}
</style>
</head>
<body>
<header class="site-header">
<nav class="nav-container">
<a href="#" class="logo">MySite</a>
<button class="menu-toggle">Menu</button>
<ul class="nav-list">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Services</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</header>
</body>
</html>Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Practical Frontend
1Variablen
VariablenCSS-Variablen verwendenVariablen für Design TokensLokale VariablenWiederholungs-Challenge7Abschlussherausforderungen
ProfilkarteSchokoladengalerie-RasterSieben WeltwunderNeue sieben Weltwunder2Mobile-First-Strategie
Was „Mobile-First“ bedeutetMobile-First-TypografieMobile-First-NavigationMobile-First-BilderMobile-First-FormulareWiederholungs-Challenge