HTMLCSSJavaScriptIndexRoadmapImpressum

Vertikale Menüs

Vertikale Menüs eignen sich besonders für Sidebars und Unterseiten-Navigation. Die Menüpunkte stehen untereinander – ideal links oder rechts neben dem Hauptinhalt.

HTML-Grundstruktur

Die HTML-Struktur ist dieselbe wie bei horizontalen Menüs: <nav> mit einer <ul> und Links in <li>-Elementen.

HTML Menü-Struktur

1<nav>
2    <ul>
3        <li><a href="#">Start</a></li>
4        <li><a href="#">Kurse</a></li>
5        <li><a href="#">Kontakt</a></li>
6    </ul>
7</nav>

Listen-Stile entfernen

Zuerst entfernst du die Standard-Listenpunkte und Abstände mit list-style: none, margin: 0 und padding: 0.

HTML Menü-Struktur

1<nav>
2    <ul>
3        <li><a href="#">Start</a></li>
4        <li><a href="#">Kurse</a></li>
5        <li><a href="#">Kontakt</a></li>
6    </ul>
7</nav>

CSS Listen-Stile zurücksetzen

1nav ul {
2    list-style: none;
3    margin: 0;
4    padding: 0;
5}

Vertikal mit Flexbox

Mit display: flex und flex-direction: column ordnest du die Menüpunkte untereinander an. gap sorgt für gleichmäßigen Abstand zwischen den Einträgen.

HTML Menü-Struktur

1<nav>
2    <ul>
3        <li><a href="#">Start</a></li>
4        <li><a href="#">Kurse</a></li>
5        <li><a href="#">Kontakt</a></li>
6    </ul>
7</nav>

CSS Vertikales Flexbox-Menü

1nav ul {
2    display: flex;
3    flex-direction: column;
4    gap: 4px;
5    list-style: none;
6    margin: 0;
7    padding: 0;
8}

Für eine Sidebar legst du eine feste width am nav-Element fest. Mit display: block und padding füllt jeder Link die volle Breite – das macht die Klickfläche groß und übersichtlich. Die Klasse active markiert die aktuelle Seite.

HTML mit aktiver Seite

1<nav>
2    <ul>
3        <li><a href="#" class="active">Start</a></li>
4        <li><a href="#">Kurse</a></li>
5        <li><a href="#">Kontakt</a></li>
6    </ul>
7</nav>

CSS Link-Styling

1nav ul {
2    display: flex;
3    flex-direction: column;
4    gap: 4px;
5    list-style: none;
6    margin: 0;
7    padding: 0;
8}
9
10nav {
11    width: 220px;
12    background-color: #2c3e50;
13    padding: 8px;
14}
15
16nav a {
17    display: block;
18    padding: 10px 16px;
19    color: #ecf0f1;
20    text-decoration: none;
21    border-radius: 4px;
22}
23
24nav a.active {
25    background-color: #3498db;
26}

Hover und Active

Mit :hover hebst du den Menüpunkt hervor, über den die Maus gerade liegt. :active reagiert beim Klicken – so wirkt die Navigation direkt und lebendig.

HTML Menü-Struktur

1<nav>
2    <ul>
3        <li><a href="#">Start</a></li>
4        <li><a href="#">Kurse</a></li>
5        <li><a href="#">Kontakt</a></li>
6    </ul>
7</nav>

CSS Hover und Active

1nav ul {
2    display: flex;
3    flex-direction: column;
4    gap: 4px;
5    list-style: none;
6    margin: 0;
7    padding: 0;
8}
9
10nav {
11    width: 220px;
12    background-color: #2c3e50;
13    padding: 8px;
14}
15
16nav a {
17    display: block;
18    padding: 10px 16px;
19    color: #ecf0f1;
20    text-decoration: none;
21    border-radius: 4px;
22}
23
24nav a:hover {
25    background-color: #34495e;
26}
27
28nav a:active {
29    transform: scale(0.97);
30}

Im nächsten Kapitel lernst du: Media Queries in CSS