Holy-Grail-Layout
Teil des Abschnitts Praktisches Frontend der HTML-Journey von Coddy. Lektion 26 von 35.
Das Holy-Grail-Layout ist ein klassisches Webdesign-Muster mit einem Header oben, einem Footer unten und drei Spalten in der Mitte:
- Linke Seitenleiste (Navigation oder Links)
- Hauptinhalt (Mitte)
- Rechte Seitenleiste (zusätzliche Informationen, Werbung oder Widgets)
Es wird als „Heiliger Gral“ bezeichnet, da es den Hauptinhalt in der Mitte hält und in Blogs, Nachrichtenseiten und Dashboards sehr verbreitet ist.
Wie es funktioniert:
- Mit CSS Flexbox oder Grid erstellt.
- Der Hauptinhalt wächst, um den verfügbaren Platz auszufüllen, während Seitenleisten feste oder kleinere Breiten haben.
- Auf kleinen Bildschirmen werden Seitenleisten für eine bessere Lesbarkeit über oder unter dem Hauptinhalt angeordnet.
Beispiel mit CSS Grid (vereinfacht)
HTML:
<div class="container">
<header>Header</header>
<nav>Navigation</nav>
<main>Main Content</main>
<aside>Sidebar</aside>
<footer>Footer</footer>
</div>CSS:
.container {
display: grid;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
grid-template-columns: 200px 1fr 200px;
}
header { grid-area: header; }
nav { grid-area: nav; }
main { grid-area: main; }
aside { grid-area: aside; }
footer { grid-area: footer; }Aufgabe
EinfachErstelle ein Holy-Grail-Layout mit den folgenden Anforderungen:
- Verwende eine CSS-Variable namens
--main-colorfür die Hintergrundfarbe des Headers und Footers. - Definiere die Grid-Area-Werte für
header,footer,nav,mainundaside. - Zentriere den Text innerhalb des Headers und Footers.
Probier es selbst
<!DOCTYPE html>
<html>
<head>
<title>Holy Grail Layout</title>
<style>
:root {
--main-color: rgb(76, 175, 239); /* header/footer */
--accent-color: #ff9800; /* highlights */
--text-color: #333;
--heading-color: #222;
}
body {
margin: 0;
font-family: "Segoe UI", Arial, sans-serif;
background: #a9eef3;
color: var(--text-color);
}
.container {
display: grid;
grid-template-areas:
"header header header"
"nav main aside"
"footer footer footer";
grid-template-columns: 160px 1fr 180px;
min-height: 100vh;
gap: 1rem;
}
header {
color: white;
padding: 1.5rem;
}
footer {
color: white;
padding: 1rem;
}
nav {
background: #f4f4f4;
padding: 1rem;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
nav h3 {
margin-top: 0;
color: var(--heading-color);
}
nav ul {
list-style: none;
padding: 0;
}
nav li {
margin: 0.5rem 0;
}
nav a {
text-decoration: none;
color: var(--text-color);
padding: 0.3rem 0.5rem;
border-radius: 4px;
transition: background 0.2s;
}
nav a:hover {
background: var(--accent-color);
color: white;
}
main {
padding: 1.5rem;
background: #fff;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.08);
}
main h2 {
margin-top: 0;
color: var(--heading-color);
}
aside {
background: #fff7e6;
padding: 1rem;
border-radius: 8px;
box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
aside h3 {
margin-top: 0;
color: var(--accent-color);
}
</style>
</head>
<body>
<div class="container">
<header>
<h1>Travel Adventures</h1>
<p>Explore the world, one journey at a time</p>
</header>
<nav>
<h3>Navigation</h3>
<ul>
<li><a href="#">Destinations</a></li>
<li><a href="#">Travel Tips</a></li>
<li><a href="#">Photo Gallery</a></li>
</ul>
</nav>
<main>
<h2>Featured Destination: Japan</h2>
<p>
Japan is a country where ancient traditions meet modern innovation.
From the serene temples of Kyoto to the bustling streets of Tokyo,
there’s something for every traveler.
</p>
<p>
Don’t forget to try sushi, explore cherry blossoms in spring,
and relax in an onsen hot spring bath.
</p>
</main>
<aside>
<h3>Quick Facts</h3>
<ul>
<li>Capital: Tokyo</li>
<li>Language: Japanese</li>
<li>Currency: Yen</li>
</ul>
</aside>
<footer>
<p>© 2025 Travel Adventures Blog</p>
</footer>
</div>
</body>
</html>
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Praktisches Frontend
1Variablen
VariablenCSS-Variablen verwendenVariablen für Design-TokensLokale VariablenRückblick-Herausforderung7Abschließende Herausforderungen
ProfilkarteSchokoladengalerie-RasterSieben WeltwunderNeue sieben Weltwunder3Themeing & visuelle Stile
Themeing in CSSGrundlagen des Dark-/Light-ModusAkzentfarben & HervorhebungenThemeing der TypografieWiederholungs-Challenge6Responsive Muster
Holy-Grail-LayoutKartenraster-LayoutSeitenleiste + Inhalts-LayoutGeteilter Bildschirm-LayoutFixierter Header / FooterWiederholungs-ChallengeÜbe selbstständig: Web-Playground