Inhalt und Darstellung trennen: HTML, CSS und JavaScript zuordnen
Inhalt beschreibt, was vermittelt wird. Darstellung legt fest, wie dieser Inhalt aussieht. Sind beide getrennt, kannst du dieselben Inhalte unterschiedlich gestalten und das Design zentral ändern.
Bei Webseiten ist die übliche Aufteilung: HTML beschreibt Inhalt und Struktur, CSS gestaltet sie und JavaScript ergänzt programmierte Reaktionen. Dieses Prinzip heißt Trennung von Zuständigkeiten.
Hake ab, was du schon kannst — und komm am Ende hierher zurück!
Warum lohnt sich die Trennung?
Stell dir als fiktives Beispiel vor, ein Hinweis erscheint auf vielen Seiten. Seine Bedeutung bleibt gleich, aber seine Gestaltung soll sich ändern: Statt eines roten Rahmens soll er künftig einen blauen Hintergrund erhalten.
Sind Inhalt und Gestaltung vermischt, musst du möglicherweise viele einzelne Stellen bearbeiten. Bei einer sauberen Trennung bleibt der Hinweis inhaltlich unverändert. Du passt nur die zentrale Darstellungsregel an.
Trennung von Zuständigkeiten
Verschiedene Teile einer Aufgabe werden von verschiedenen Teilen der Lösung übernommen. Inhalt, Darstellung und Verhalten erhalten jeweils eine möglichst klar abgegrenzte Zuständigkeit.
Die Trennung unterstützt vor allem:
- zentrale Änderungen: Eine Darstellungsregel kann für viele Inhalte geändert werden;
- Wiederverwendung: Derselbe Inhalt kann in mehreren Gestaltungen oder Ausgabeformaten erscheinen;
- konsistente Gestaltung: Gemeinsame Regeln sorgen für ein einheitliches Erscheinungsbild;
- Wartbarkeit: Du findest leichter die Stelle, die für eine gewünschte Änderung zuständig ist.
Diese Vorteile entstehen nicht automatisch. Die Inhalte müssen sinnvoll strukturiert und die Regeln tatsächlich getrennt verwaltet werden.
Drei Schichten einer Webseite
Bei einer Webseite arbeiten meist drei Techniken zusammen.
HTML beschreibt Inhalt und Struktur
HTML ist eine Auszeichnungssprache. Du beschreibst damit die Bestandteile einer Seite durch Elemente, also Bausteine wie einen Absatz oder eine Überschrift. HTML kennzeichnet die Bedeutung von Bestandteilen: zum Beispiel Überschrift, Absatz, Liste, wichtiger Abschnitt oder Datentabelle. Es beantwortet vor allem die Frage: Was ist das?
Mit einer Klasse kannst du Elementen einen gemeinsamen Namen zuordnen, damit CSS oder JavaScript sie gezielt auswählen kann. Wähle dafür möglichst einen Namen, der ihren Zweck beschreibt: hinweis bleibt nach einer Designänderung passend, rot-unterstrichen möglicherweise nicht. Der Klassenname allein macht aus einem Absatz aber kein besonderes HTML-Hinweiselement. Die Bedeutung für den Browser ergibt sich aus den verwendeten HTML-Elementen und ihren standardisierten Eigenschaften.
CSS gestaltet die Struktur
CSS legt beispielsweise Farben, Schriftgrößen, Abstände und Rahmen fest. Es kann außerdem unterschiedliche Darstellungen für Smartphone, großen Bildschirm oder Papier definieren. Es beantwortet die Frage: Wie soll es aussehen?
Ein Stylesheet ist eine Sammlung von CSS-Regeln. Jede Regel legt fest, für welche Elemente welche Gestaltung gelten soll. Eine zentrale CSS-Datei kann von vielen Seiten gemeinsam eingebunden werden. Änderst du eine Regel, wird sie beim erneuten Laden für alle passenden Elemente berücksichtigt. Andere, vorrangige Regeln können einzelne Angaben allerdings überlagern.
JavaScript ergänzt Verhalten
JavaScript ist eine Programmiersprache. Sie kann auf Ereignisse, zum Beispiel einen Klick, reagieren und das im Browser angezeigte Dokument verändern. Es beantwortet die Frage: Was soll passieren?
Soll ein Hinweis nach einem Klick hervorgehoben werden, kann JavaScript seine Klassenzugehörigkeit ändern. Eine passende CSS-Regel wählt das Element nun anhand der neuen Klasse aus. JavaScript steuert also den Zustand; CSS bestimmt dessen Aussehen.
HTML gibt dem Inhalt Bedeutung und Struktur. CSS bestimmt die Darstellung. JavaScript ergänzt Verhalten und Interaktivität.
Wähle in jeder Lücke die passende Form und prüfe anschließend deine Antworten.
Eine Überschrift gehört zur Schicht . Ihre Schriftgröße legt fest. Eine selbst programmierte Klickreaktion ergänzt .
So arbeiten die Schichten zusammen
Die Trennung bedeutet nicht, dass die Schichten nichts miteinander zu tun haben. Sie arbeiten zusammen, behalten aber unterschiedliche Aufgaben.
Fiktives Beispiel: Auf einer Schulwebseite soll eine Schaltfläche einen Hinweis hervorheben.
- Du legst den Hinweistext als HTML-Absatz und die Schaltfläche als HTML-Schaltfläche an. Der Absatz erhält die Klasse
hinweis, damit du ihn gezielt auswählen kannst. - In CSS definierst du Abstand und Rahmen für Elemente dieser Klasse. Eine weitere Regel legt einen blauen Hintergrund für die zusätzliche Klasse
hervorgehobenfest. - JavaScript verbindet die Schaltfläche mit einer Klickreaktion. Diese fügt dem Hinweis die Klasse
hervorgehobenhinzu. - Jetzt passt die zusätzliche CSS-Regel auf den Hinweis. Der Browser zeigt dessen blauen Hintergrund, während der Hinweistext gleich bleibt.
Der entscheidende Gedanke: JavaScript muss die konkreten Farben nicht festlegen. Es löst eine Zustandsänderung aus; die passende Gestaltung bleibt Aufgabe von CSS.
Ereignisangaben wie onclick direkt im HTML vermischen Struktur und Verhalten. Bei unaufdringlichem JavaScript steht die Ereignislogik stattdessen in einer JavaScript-Datei und wird beim Laden mit den betreffenden Elementen verbunden.
Auch zusätzliche Strukturelemente, die ausschließlich für eine bestimmte Optik eingefügt werden, können die Trennung schwächen. HTML-Elemente sollen möglichst wegen ihrer inhaltlichen Bedeutung vorhanden sein.
Eine brauchbare Basis bleibt erhalten
Das Schichtenmodell beschreibt Zuständigkeiten, keine strikten technischen Grenzen: HTML bietet beispielsweise mit den Elementen details und summary einen aufklappbaren Bereich samt Beschriftung. Diesen kann der Browser schon ohne JavaScript öffnen und schließen.
Die drei Techniken lassen sich trotzdem als aufeinander aufbauende Schichten betrachten:
- HTML ist die Grundlage. Inhalt und grundlegende Struktur sollen verständlich sein.
- CSS verbessert die Darstellung. Fehlt CSS, soll der Inhalt möglichst weiterhin nutzbar bleiben.
- JavaScript ergänzt Interaktivität. Fehlt JavaScript, soll die Grundfunktion möglichst erhalten bleiben.
Dieses Vorgehen heißt Progressive Enhancement: Eine verlässliche Grundschicht wird schrittweise erweitert.
Nicht jede Webanwendung kann ihre eigentliche Funktion ohne JavaScript anbieten. Die Forderung nach einer funktionsfähigen Basis gilt dort, wo die Grundfunktion ohne JavaScript sinnvoll verständlich und bedienbar sein kann.
Derselbe Inhalt in mehreren Formen
Das Prinzip gilt nicht nur für Webseiten. Auch bei Dokumenten kannst du unterscheiden:
- Inhalt oder Information: Was steht im Dokument?
- Struktur: Welche Bestandteile gehören zusammen, und in welcher inhaltlichen Reihenfolge stehen sie?
- Layout: Wie sind die Bestandteile auf der Seite angeordnet, und welche Farben, Schriftarten, Größen, Rahmen und Spalten werden verwendet?
Software kann diese getrennten Angaben für eine konkrete Ausgabe zusammenführen. Derselbe Inhalt kann dadurch beispielsweise als Webseite und als PDF erscheinen. Auch verschiedene Vorlagen können auf dieselben Inhalte angewendet werden.
Fiktives Beispiel: Eine Schule veröffentlicht dieselbe Terminübersicht auf ihrer Webseite und in einem PDF.
Die Termine bilden den Inhalt. Die Reihenfolge und Gruppierung bilden die Struktur. Farben, Schriften und Seitenaufteilung gehören zum Layout.
Ändert sich ein Termin, wird der Inhalt angepasst. Soll nur das PDF ein neues Erscheinungsbild erhalten, wird dessen Layout geändert. Die Termine müssen dafür nicht neu geschrieben werden. Eine bereits ausgegebene PDF-Datei aktualisiert sich jedoch nicht von selbst: Du musst sie nach einer Änderung neu erzeugen und bereitstellen.
Ein Content-Management-System (CMS) ist Software, mit der du Inhalte wie Texte und Bilder verwaltest. Ein CMS kann diese Inhalte getrennt von Designvorlagen speichern. Solche Vorlagen geben wiederkehrende Struktur- und Gestaltungsregeln vor. Dadurch können Personen Inhalte bearbeiten, ohne jedes Darstellungsdetail unmittelbar ändern zu müssen.
Prüfe selbst: Was gehört wohin?
Nutze bei jeder Entscheidung drei Fragen:
- Was bedeutet oder enthält das Element? Das gehört zu Inhalt und Struktur.
- Wie soll es aussehen? Das gehört zur Darstellung.
- Was soll bei einem Ereignis passieren? Das gehört zum Verhalten.
Übung: Änderungen richtig zuordnen
Ordne die Wünsche der passenden Zuständigkeit zu und begründe deine Antwort:
- Ein Abschnitt soll als Überschrift ausgezeichnet werden.
- Diese Überschrift soll auf kleinen Bildschirmen kleiner erscheinen.
- Eine eigens programmierte Klickreaktion soll dem Hinweis die Klasse
hervorgehobenhinzufügen. - Der Hinweistext soll fachlich korrigiert werden.
Lösung mit Begründung
- HTML: Die Auszeichnung als Überschrift beschreibt die Bedeutung des Abschnitts. Nur eine größere Schrift würde ihn noch nicht zur HTML-Überschrift machen.
- CSS: Die Schriftgröße verändert das Aussehen. Der Wortlaut und die Bedeutung als Überschrift bleiben gleich.
- JavaScript: Die programmierte Reaktion verändert die Klassenzugehörigkeit. Welche Farbe dadurch sichtbar wird, bleibt in CSS festgelegt.
- Inhaltsbearbeitung: Du änderst den Text im HTML oder im CMS, aus dem die Seite erzeugt wird. Eine neue Farbe könnte einen fachlichen Fehler im Wortlaut nicht korrigieren.
Typische Fehler
- Ein Name wie
blaubindet die Struktur an eine aktuelle Gestaltung. Ein Name wiezusatzinfobeschreibt den Zweck dauerhafter. - Gestaltung direkt an vielen einzelnen Elementen zu wiederholen erschwert zentrale Änderungen.
- Farb- und Schriftregeln in JavaScript vermischen Verhalten und Darstellung.
- Die Trennung ist kein Selbstzweck: Die Ebenen müssen bei der Ausgabe weiterhin korrekt zusammenarbeiten.
Karteikasten
Überlege zuerst selbst und drehe die Karte anschließend zum Prüfen um.
Alles auf einen Blick
- Trennung von Inhalt und Darstellung
- HTML: Inhalt und bedeutungsvolle Struktur
- CSS: zentrale Darstellungsregeln
- JavaScript: Verhalten und Zustandsänderungen
- Wiederverwendung: ein Inhalt in mehreren Ausgaben
- Wartung: Änderungen an der zuständigen Stelle
- Grundprinzip: Bedeutung statt momentaner Optik benennen
Abschluss-Check
Du hast das Prinzip verstanden, wenn du bei einer Änderung zuerst die zuständige Ebene bestimmen kannst: Bedeutung und Inhalt, Darstellung oder Verhalten.
Mit Google fortfahren