Bootstrap - Navbars: Der Türsteher professioneller Web-Navigation
Hallo dort, zukünftige Web-Entwickler! Heute tauchen wir ein in eines der wichtigsten Bestandteile modernen Webdesigns: die Navbar. Als dein freundlicher Nachbarschafts-Computerlehrer freue ich mich darauf, dich durch die wunderbare Welt der Bootstrap Navbars zu führen. Nimm dir dein Lieblingsgetränk, setz dich bequem hin, und lasst uns gemeinsam dieses Coding-Abenteuer starten!
Funktionieren
Bevor wir mit dem Erstellen unserer Navbars beginnen, lassen wir uns darstellen, was sie sind und wie sie funktionieren. Eine Navbar, kurz für Navigationsleiste, ist wie die Landkarte deiner Website. Sie hilft den Benutzern, sich in deiner digitalen Kreation zurechtzufinden. In Bootstrap sind Navbars responsiv und standardmäßig zusammengeklappt, was bedeutet, dass sie sich wunderschön an verschiedene Bildschirmgrößen anpassen. Ist das nicht toll?
Basis-navbar
Lassen wir mit einer einfachen Navbar beginnen. Hier ist ein einfaches Beispiel:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">MyWebsite</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Navigation umschalten">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Startseite <span class="sr-only">(aktuell)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Über uns</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Dienstleistungen</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Kontakt</a>
</li>
</ul>
</div>
</nav>
Lassen wir das auseinanderbrechen:
- Wir beginnen mit einem
<nav>
-Element mit Bootstrap-Klassen. - Die
navbar-brand
-Klasse ist für den Namen oder das Logo deiner Website. - Der
navbar-toggler
ist für die mobile Ansicht und erzeugt das berühmte "Burger"-Menü. - Innerhalb der
navbar-collapse
-Div haben wir unsere Navigationspunkte in einer unsortierten Liste.
Vertikale Navbar
Möchtest du Dinge aufmischen? Probieren wir eine vertikale Navbar:
<nav class="navbar navbar-light bg-light flex-column">
<a class="navbar-brand" href="#">Vertical Nav</a>
<nav class="nav flex-column">
<a class="nav-link active" href="#">Startseite</a>
<a class="nav-link" href="#">Über uns</a>
<a class="nav-link" href="#">Dienstleistungen</a>
<a class="nav-link" href="#">Kontakt</a>
</nav>
</nav>
Der Zauber hier liegt in der flex-column
-Klasse. Sie verwandelt unsere horizontale Navbar in eine schicke vertikale.
Zentrierte Navbar
Für diejenigen, die alles perfekt ausgerichtet haben möchten, hier ist, wie man die Navbar-Elemente zentriert:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="navbar-nav mx-auto">
<a class="nav-item nav-link active" href="#">Startseite</a>
<a class="nav-item nav-link" href="#">Über uns</a>
<a class="nav-item nav-link" href="#">Dienstleistungen</a>
<a class="nav-item nav-link" href="#">Kontakt</a>
</div>
</nav>
Die mx-auto
-Klasse ist unser Held für die Zentrierung. Sie applies automatische Ränder auf beiden Seiten, um unseren Inhalt zu zentrieren.
Marke
Deine Marke ist deine Identität. Sehen wir, wie man sie erstrahlen lassen kann:
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<img src="/pfad/zu/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
Bootstrap
</a>
</nav>
Dieser Code fügt ein Logo neben deinem Markennamen hinzu. Die d-inline-block
und align-top
-Klassen stellen sicher, dass alles schön ausgerichtet ist.
Text
Manchmal braucht man einfach nur einige klare Worte in deiner Navbar:
<nav class="navbar navbar-light bg-light">
<span class="navbar-text">
Navbar-Text mit einem inline-Element
</span>
</nav>
Die navbar-text
-Klasse gestaltet deinen Text so, dass er der Navbar-Optik entspricht.
Bilder und Text
Lassen wir Bilder und Text kombinieren, um eine dynamischere Navbar zu schaffen:
<nav class="navbar navbar-light bg-light">
<a class="navbar-brand" href="#">
<img src="/pfad/zu/logo.png" width="30" height="30" class="d-inline-block align-top" alt="">
Bootstrap
</a>
<span class="navbar-text">
Willkommen auf unserer Website!
</span>
</nav>
Dies erstellt eine Navbar mit sowohl einem Logo als auch einer willkommenden Nachricht. Sieht das nicht professionell aus?
Nav
Das nav
-Komponent ist das Herz unserer Navbar. Sehen wir uns ein komplexeres Beispiel an:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Navigation umschalten">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Startseite <span class="sr-only">(aktuell)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Funktionen</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Preise</a>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Deaktiviert</a>
</li>
</ul>
</div>
</nav>
Dieses Beispiel enthält einen aktiven Link, reguläre Links und einen deaktivierten Link. Die sr-only
-Klasse ist für Screenreader gedacht, um die Barrierefreiheit zu verbessern.
Navbar ohne Liste
Für ein cleaneres Aussehen kannst du eine Navbar ohne Liste erstellen:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Startseite</a>
<a class="nav-item nav-link" href="#">Funktionen</a>
<a class="nav-item nav-link" href="#">Preise</a>
<a class="nav-item nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Deaktiviert</a>
</div>
</nav>
Dies erreicht das gleiche Ergebnis, ohne <ul>
und <li>
-Tags zu verwenden.
Navbar mit Dropdown
Bereit für das nächste Level? Lassen wir eine Dropdown-Funktion zur Navbar hinzufügen:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Startseite</a>
<a class="nav-item nav-link" href="#">Link</a>
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown-Link
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Aktion</a>
<a class="dropdown-item" href="#">Weitere Aktion</a>
<a class="dropdown-item" href="#">ETwas anderes hier</a>
</div>
</div>
</div>
</nav>
Die dropdown-toggle
-Klasse erstellt den Dropdown-Effekt, während dropdown-menu
und dropdown-item
den Dropdown-Inhalt gestalten.
Formulare
Brauchst du eine Suchleiste? Kein Problem! Hier ist, wie man ein Formular zur Navbar hinzufügt:
<nav class="navbar navbar-light bg-light">
<form class="form-inline">
<input class="form-control mr-sm-2" type="search" placeholder="Suche" aria-label="Suche">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Suchen</button>
</form>
</nav>
Die form-inline
-Klasse hält unsere Formular-elemente in einer Linie, perfekt für Navbars.
Farbschemata
Bootstrap bietet verschiedene Farbschemata. Hier ist eine dunkle Navbar:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">Dunkle Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Startseite</a>
<a class="nav-item nav-link" href="#">Funktionen</a>
<a class="nav-item nav-link" href="#">Preise</a>
</div>
</nav>
Man ändert einfach navbar-light
zu navbar-dark
und bg-light
zu bg-dark
. Einfach!
Container
Für bessere Ausrichtung kannst du dein Navbar-Inhalt in einen Container einpacken:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">Eingefügte Navbar</a>
<div class="navbar-nav">
<a class="nav-item nav-link active" href="#">Startseite</a>
<a class="nav-item nav-link" href="#">Funktionen</a>
<a class="nav-item nav-link" href="#">Preise</a>
</div>
</div>
</nav>
Die container
-Klasse zentriert den Inhalt und bietet eine responsive feste Breite.
Platzierung
Fest obenauf
Möchtest du, dass deine Navbar oben kleben bleibt? Hier ist wie:
<nav class="navbar fixed-top navbar-light bg-light">
<a class="navbar-brand" href="#">Fest obenauf</a>
</nav>
Die fixed-top
-Klasse lässt deine Navbar oben auf der Seite bleiben, während der Benutzer scrollt.
Responsives Verhalten
Bootstrap Navbars sind standardmäßig responsiv. Sie kollabieren auf kleineren Bildschirmen und.extendieren auf größeren. Der Schlüssel ist die navbar-expand-*
-Klasse:
<nav class="navbar navbar-expand-md navbar-light bg-light">
<!-- Navbar-Inhalt -->
</nav>
Diese Navbar wird auf mittelgroßen Bildschirmen und größer expandieren.
Schalter
Der Navbar-Schalter ist das, was das "Burger"-Menü auf mobilen Geräten erstellt:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Navigation umschalten">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<!-- Navbar-Inhalt -->
</div>
</nav>
Der navbar-toggler
-Knopf steuert die Sichtbarkeit des Navbar-Inhaltes auf kleineren Bildschirmen.
Externes Inhalt
Du kannst auch Inhalt außerhalb des Navbars umschalten:
<nav class="navbar navbar-light bg-light">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Navigation umschalten">
<span class="navbar-toggler-icon"></span>
</button>
</nav>
<div class="collapse" id="navbarToggleExternalContent">
<div class="bg-dark p-4">
<h5 class="text-white h4">Zusammengeklappter Inhalt</h5>
<span class="text-muted">Über den Navbar-Brand umschaltbar.</span>
</div>
</div>
Dies erstellt einen Schalter, der Inhalte außerhalb des Navbars steuert.
Offcanvas
Last but not least, schauen wir uns eine Offcanvas Navbar an:
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<button class="navbar-toggler" type="button" data-bs-toggle="offcanvas" data-bs-target="#offcanvasNavbar" aria-controls="offcanvasNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="offcanvas offcanvas-end" tabindex="-1" id="offcanvasNavbar" aria-labelledby="offcanvasNavbarLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="offcanvasNavbarLabel">Offcanvas</h5>
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Schließen"></button>
</div>
<div class="offcanvas-body">
<!-- Offcanvas-Inhalt -->
</div>
</div>
</div>
</nav>
Dies erstellt eine Sidebar, die von der Seite hereingezogen wird, perfekt für mobile Navigation.
Und das ist es, Leute! Wir haben die Welt der Bootstrap Navbars durchquert, von grundlegenden Strukturen bis zu fortgeschrittenen Funktionen. Denke daran, dass Übung den Meister macht, also experimentiere ruhig mit diesen Beispielen. Frohes Coden und möge deine Navbars deine Benutzer immer sicher führen! |
Methode | Beschreibung |
---|---|
.navbar() |
Initialisiert das Navbar-Komponent |
.collapse('toggle') |
Schaltet die Navbar-Zusammenfassung um |
.collapse('show') |
Zeigt die Navbar-Zusammenfassung |
.collapse('hide') |
Versteckt die Navbar-Zusammenfassung |
.offcanvas('toggle') |
Schaltet die Offcanvas Navbar um |
.offcanvas('show') |
Zeigt die Offcanvas Navbar |
.offcanvas('hide') |
Versteckt die Offcanvas Navbar |
Credits: Image by storyset