Es gibt viele Techniken zum Erstellen von responsiven mobilen Menüs. Eine häufige Praxis besteht darin, ausschließlich CSS zu verwenden, ohne eine einzige Zeile JavaScript. Diese Technik beinhaltet die Verwendung einer einfachen HTML-Listenstruktur zur Entwicklung eines Menüs von Links, das je nach Bildschirmgröße eines Geräts unterschiedlich gestaltet und gerendert werden kann.
In diesem Tutorial werden wir CSS verwenden, um das folgende responsive Menü für mobile Geräte, Tablets und Desktops zu erstellen.
Für kleinere Bildschirme muss der Benutzer auf ein Hamburger-Symbol klicken, um die Menüpunkte anzuzeigen. Größere Bildschirme zeigen die Menüpunkte inline in der Navigationsleiste an.
In diesem Tutorial werden wir ein responsives Menü erstellen, einschließlich eines Hamburger-Symbols, ausschließlich mit reinem HTML und CSS.
Um zu beginnen, verwenden Sie Ihren bevorzugten Texteditor, wie zum Beispiel VS Code, und erstellen eine rails App, alternativ kann man zwei Dateien in einem gemeinsamen Ordner erstellen:
index.html für den HTML-Code
style.css für den CSS-Code
Kopieren Sie den Pfad der index.html-Datei und fügen Sie ihn in einen Browser ein, um die App zu testen.
Dieser Code enthält die Struktur und den Inhalt der Webseite. Er enthält auch einen Verweis auf das CSS-Stylesheet.
Wir verwenden die semantischen Tags <header> und <main>, um die Navigationsleiste und den Hauptinhalt der Seite zu trennen.
Wir fügen ein Logo mit dem <a>-Anker-Tag hinzu.
Schließlich erstellen wir ein Hamburger-Menü mithilfe eines Checkbox-Hacks. Mit dieser Strategie können wir das Menü basierend darauf gestalten, ob das Kontrollkästchen aktiviert ist.
Wir verwenden ein <label>-Tag, um das Symbol für das Hamburger-Menü zu definieren. Das <input>-Tag wird verwendet, um das Menü je nach Zustand des Kontrollkästchens (Klasse side-menu) bedingt anzuzeigen.
Dann fügen wir die Menüpunkte als Listenelemente <li> in einer ungeordneten Liste <ul> hinzu. Das <nav>-Tag dient als Listencontainer.
Hier ist die Ausgabe nur mit HTML:
1.png1.08 MB 2.png1.44 MB 3.png1.01 MB
Hinzufügen des CSS
Jetzt werden wir CSS verwenden, um die verschiedenen UI-Komponenten und Funktionen zu gestalten:
Den Inhalt und den Hintergrund gestalten
Den Header und das Logo gestalten
Das Navigationsmenü gestalten
Das Hamburger-Menü-Symbol gestalten
Das gestaltete Menüsymbol umschalten
Responsivität hinzufügen
Hier ist der Abschnitt zum Gestalten des Inhalts und des Hintergrunds. Sie können den folgenden Code einfügen:
Dieser Code importiert die Google-Schriftart Poppins für die Verwendung in der App.
Wir definieren CSS-Variablen für die Farben, die in der App verwendet werden sollen. Dann setzen wir CSS zurück, um die Standardeinstellungen des Browsers für margin, padding, box-sizing, text-decoration und list-style zu entfernen.
Gestaltung des Headers und Logos
Der folgende Code fügt dem Header eine schwarze Hintergrundfarbe und einen grauen Box-Schatten hinzu. Um den Header während des Scrollens oben auf dem Bildschirm zu halten, geben wir eine sticky Position und einen Null-Abstand zum oberen Rand an. Außerdem passen wir den Header so an, dass er sich über die gesamte Breite des Geräts erstreckt:
Wir gestalten das Logo, indem wir die Farbe, Schriftgröße und den linken Rand angeben. Nicht zu verwechseln mit Padding, ist der [Margin] der Bereich um das Logo, der es von anderen Elementen trennt.
Gestaltung des Navigationsmenüs
Im folgenden Code geben wir die Breiten- und Höheneigenschaften von 100 Prozent für das <nav>-Element an, um den Inhalt an den Bildschirm anzupassen. Anschließend geben wir eine feste Position an, um das Navigationsmenü über dem Hauptinhalt der App zu überlagern. Wir wählen auch eine schwarze Hintergrundfarbe für das <nav>-Element aus und geben an, dass jeglicher Überlaufinhalt aus dem <nav>-Element versteckt werden soll.
Für die Menü-Link-Elemente geben wir ein Blockformat-Display an, fügen Padding und Farbe hinzu und ändern die Hintergrundfarbe von Weiß auf Grau beim Hover-Zustand.
Schließlich verwenden wir die CSS-[transition]-Eigenschaft und eine max-height von null, um das <nav>-Element standardmäßig auszublenden, aber es bei einem Klick auf das Menüsymbol anzuzeigen:
Hier ist die Ausgabe, die das gestaltete Navigationsmenü zeigt:
4.png1.11 MB 5.png1.52 MB 6.png1.02 MB
Gestaltung des Hamburger-Menüs
Im folgenden Code geben wir an, dass ein Zeigerzeiger angezeigt werden soll, wenn ein Benutzer mit dem Hamburger-Menü interagiert. Wir positionieren das Label-Element rechts und fügen etwas Padding hinzu.
Als Nächstes gestalten wir das span-Element, um die drei Menüsymbol-Linien zu erstellen.
Wir verwenden die CSS-Pseudo-Elemente [::before] und [::after] auf dem span-Element, um die drei Linien des Hamburger-Symbols zu definieren.
Der Selektor .hamb-line definiert die Mitte - oder zweite - Linie. Die .hamb-line::before und .hamb-line::after positionieren die erste und dritte Linie jeweils 5px über und unter der Mittellinie.
Schließlich verwenden wir die display-Eigenschaft auf .side-menu, um das Kontrollkästchen auszublenden:
Im folgenden Code gestalten wir das Hamburger-Menüsymbol, um sein Aussehen beim Anhaken zu ändern. Zuerst geben wir die max-height des <nav>-Elements an, wenn das Kontrollkästchen ausgewählt ist (Klasse .side-menu:checked).
Dann folgen wir einem zweistufigen Prozess, um ein "x"-förmiges Schließsymbol zu erstellen, um anzuzeigen, dass das Kontrollkästchen ausgewählt ist. Zuerst verbergen wir die zweite Linie des Hamburger-Symbols, indem wir ihren Hintergrund auf transparent setzen. Dann drehen wir die erste und dritte Linie um -45 bzw. 45 Grad, um eine "x"-Form zu bilden:
Hier ist die Ausgabe, die das umgeschaltete Menü zeigt:
7.png1.11 MB 8.png894 KB 9.png1.53 MB
Hinzufügen von Responsivität
Um die App responsiv zu gestalten, können wir Media Queries verwenden, um CSS-Eigenschaften bedingt einzubeziehen. Mit anderen Worten werden die Eigenschaften innerhalb einer Media Query nur auf die Webseite angewendet, wenn die festgelegte Bedingung gültig ist.
In diesem Code fügen wir eine @media-Regel mit der Gerätebedingung für eine mindestens 768px breite Ansicht hinzu. Wir möchten, dass Geräte mit dieser Mindestbreite das vollständige Navigationsmenü sehen, anstelle des Hamburger-Menüs.
Wir entfernen die max-height-Eigenschaft des <nav>-Elements, indem wir sie auf none setzen.
Wir positionieren das <nav>-Element oben rechts auf dem Bildschirm und geben seine Breite mit fit-content an.
Wir floaten die Menülistenpunkte links vom <nav>-Element. Die Hintergrundfarbe wird auf transparent und die Menülistenpunkte beim Überfahren auf grau festgelegt.
Schließlich verwenden wir die display-Eigenschaft, um das Hamburger-Menüsymbol auszublenden.
Hier ist die vollständig gestaltete App: 10.png858 KB
Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten
zu können und die Zugriffe auf unsere Website zu analysieren.
Sie akzeptieren unsere Cookies, wenn Sie fortfahren diese Webseite zu nutzen.
Datenschutzerklärung.