HTMLWiki.de: Zweispaltiges Layout
HTMLWiki.de >
HTML lernen • Beispiele • Tutorials • KI

[ START ] [ TUTORIAL ] [ HTML ] [ CSS ] [ KI ] [ SPIELWIESE ] [ SITEMAP ]

Zweispaltiges Layout: Inhalt und Seitenleiste

Inhalt links, Seitenleiste rechts: das Ur-Layout des Webs. Früher wurde dafür getrickst was das Zeug hielt (Tabellen, Floats, Frames, das ganze Retro-Museum), heute sind es ein paar Zeilen Grid.

Schritt 1: Die Struktur

HTML-Code

<div class="layout">
    <main>
        <h1>Meine Projekte</h1>
        <p>Hier steht der Hauptinhalt...</p>
    </main>
    <aside>
        <h2>Aktuelles</h2>
        <p>Neues Bastelprojekt gestartet!</p>
    </aside>
</div>

Der Hauptinhalt wohnt im main, der Randinhalt im aside, beides Elemente aus dem Kapitel Semantisches HTML. Das div drumherum ist der Layout-Container, ein völlig legitimer div-Einsatz.

Schritt 2: Das Grid

CSS

.layout {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 24px;
    max-width: 960px;
    margin: 0 auto;
}
Ergebnis im Kleinen
main: der Hauptinhalt, doppelt so breit
aside: die Seitenleiste

Vier Zeilen: zwei Spalten im Verhältnis 2 zu 1, Abstand dazwischen, Gesamtbreite gedeckelt und zentriert. Das wars tatsächlich schonn.

Schritt 3: Auf dem Handy stapeln

@media (max-width: 700px) {
    .layout {
        grid-template-columns: 1fr;
    }
}

Eine Media Query, eine Zeile: Unter 700 Pixeln gibt es nur noch eine Spalte, das aside rutscht unter den Inhalt. Prüf beim Schmal-Ziehen des Fensters ob die Reihenfolge inhaltlich passt, der Hauptinhalt sollte oben stehen, deshalb steht main im HTML auch zuersst.

Varianten für später

  • Feste Seitenleiste: grid-template-columns: 1fr 280px, der Inhalt flext, die Leiste bleibt konstant.
  • Dreispalter: einfach eine dritte Spalte ergänzen, das Prinzip skaliert.
  • Kopf- und Fußzeile über die volle Breite: das grid-column: 1 / -1-Idiom von der Grid-Seite.

Weiter im Fahrplan: Footer erstellen · Vertiefung: CSS Grid