Layouts
Layouts sind besondere Astro-Komponenten, die nützlich für die Erstellung wiederverwendbarer Seitenvorlagen sind.
Eine Layout-Komponente wird üblicherweise verwendet, um einer .astro
- oder .md
-Seite sowohl ein Seiten-Gerüst (<html>
, <head>
und <body>
-Tags) als auch einen <slot />
zur Verfügung zu stellen, der bestimmt, wo im Layout der Seiteninhalt eingefügt werden soll.
Wenn eine Layout-Komponente ein Seiten-Gerüst enthält sollte beachted werden, dass das <html>
-Element das übergeordnete Element der Seite sein muss. Jegliche <style>
- oder <script>
-Elemente müssen vollständig vom <html>
-Element umschlossen sein.
Layouts enthalten häufig gemeinsame <head>
-Elemente und gemeinsame UI-Elemente der Website, z.B. Kopfzeilen, Navigationsleisten und Fußzeilen.
Layouts werden normalerweise im Verzeichnis src/layouts
deines Projekts abgelegt.
Beispiel-Layout
Abschnitt betitelt Beispiel-Layout📚 Lerne mehr über die Verwendung von Slots.
Markdown-Layouts
Abschnitt betitelt Markdown-LayoutsSeitenlayouts sind besonders nützlich für Markdown-Dateien. Markdown-Dateien können eine spezielle layout
-Eigenschaft am Anfang des Frontmatters verwenden, um anzugeben, welche .astro
-Komponente als Seitenlayout verwendet werden soll.
Wenn eine Markdown-Seite ein Layout verwendet, übergibt sie eine frontmatter
-Eigenschaft an die .astro
-Komponente, die alle Frontmatter-Eigenschaften sowie die gerenderte HTML-Ausgabe der Seite enthält.
📚 Erfahre mehr über Astros Markdown-Unterstützung in unserer Markdown-Anleitung.
Verschachtelung von Layouts
Abschnitt betitelt Verschachtelung von LayoutsLayout-Komponenten müssen nicht eine ganze Seite im HTML-Format enthalten. Du kannst deine Layouts in kleinere Komponenten aufteilen und diese Komponenten dann wiederverwenden, um noch flexiblere, leistungsfähigere Layouts in deinem Projekt zu erstellen.
Beispielsweise könnte ein übliches Layout für Blogbeiträge einen Titel, ein Datum und einen Autor anzeigen. Eine BlogBeitragsLayout.astro
-Layout-Komponente könnte diese Informationen zur Seite hinzufügen und für die Darstellung der restlichen Seitenelemente ein größeres, Website-weites Basis-Layout nutzen.