Zum Inhalt springen
Zurück zur Themenübersicht

Arbeit an Informatikprojekten

Webdokumente: HTML und CSS verstehen

Warum eine Webseite aus zwei getrennten Teilen besteht: Struktur und Bedeutung im HTML, Aussehen im CSS.

Benötigte Grundlagen

Dieses Vorwissen brauchst du für das Kapitel. Schau kurz nach, wenn dir etwas davon nicht mehr präsent ist, sonst leg direkt los.

Einführung

Wenn du im Browser die Seitenquelle anzeigen lässt, siehst du keinen Text mit Schriftgrößen, sondern eine Menge spitzer Klammern.

Der Grund dafür ist eine Entscheidung, die vor über dreißig Jahren getroffen wurde und die sich bis heute bewährt: Eine Webseite sagt nicht, wie etwas aussehen soll, sondern was es ist. Ob eine Überschrift groß und blau erscheint, wird an einer ganz anderen Stelle festgelegt.

Diese Trennung wirkt zunächst umständlich. Sie ist der Grund dafür, dass dieselbe Seite auf einem Telefon, einem Fernseher und in einem Vorleseprogramm für blinde Menschen funktioniert.

Das kannst du nach diesem Kapitel

  • erklären, warum Struktur und Gestaltung einer Webseite getrennt werden.

  • den Aufbau eines HTML-Elements aus Start-Tag, Inhalt und End-Tag beschreiben.

  • ein einfaches Webdokument mit Überschriften, Absätzen, Listen, Verweisen und Bildern aufbauen.

  • mit CSS über Selektor und Eigenschaft das Aussehen festlegen.

  • beschreiben, wie ein Webdokument getestet und im Netz veröffentlicht wird.

Die Grundentscheidung

Eine Webseite besteht aus zwei getrennten Teilen:

  • HTML beschreibt die Struktur und die Bedeutung: Das hier ist eine Überschrift, das ein Absatz, das eine Liste, das ein Verweis.
  • CSS beschreibt das Aussehen: Überschriften sind 24 Pixel groß und dunkelblau, Absätze haben 1,5-fachen Zeilenabstand.

Warum trennt man das? Drei Gründe, und jeder allein würde schon genügen.

Erstens: eine Änderung an einer Stelle. Bei 200 Seiten mit je 30 Überschriften stünde die Farbangabe 6000 Mal im Dokument. Eine Farbänderung wäre 6000 Änderungen. Steht sie im CSS, ist es eine.

Zweitens: verschiedene Ausgabegeräte. Dieselbe Struktur wird auf einem Telefon anders dargestellt als auf einem großen Bildschirm und beim Drucken noch einmal anders. Das geht nur, wenn die Darstellung nicht fest im Dokument steht.

Drittens, und didaktisch am wichtigsten: Maschinen können den Inhalt verstehen. Ein Vorleseprogramm für blinde Menschen kann sagen „Überschrift Ebene 2: Ergebnisse“, wenn dort eine Überschrift ausgezeichnet ist. Steht dort nur „fetter Text in 20 Pixel“, weiß es nichts. Dasselbe gilt für Suchmaschinen.

Daraus folgt die wichtigste Regel für eigene Seiten: Wähle das Element nach der Bedeutung, nicht nach dem Aussehen. Eine Überschrift wird als Überschrift ausgezeichnet, weil sie eine ist, nicht weil sie groß aussehen soll.

HTML und CSS

HTMLCSSWelche Frage beantwortet es?Was ist das?Wie sieht esaus?So sieht eine Zeile aus<h1>MeineSeite</h1>h1 { color:blue; }Was passiert, wenn es fehlt?Es gibt garkeine Seite.Die Seite istda, nurschlicht.Ohne HTML gibt es keine Seite.Ohne CSS gibt es eine. Sie siehtnur nach nichts aus.

Die letzte Zeile beantwortet die Frage, die sonst offenbleibt: Warum trennt man das überhaupt? Weil die beiden nicht gleichrangig sind. HTML ist die Substanz, CSS die Gestaltung, und deshalb kann dieselbe Seite auf dem Handy anders aussehen als am Rechner, ohne dass jemand ihren Inhalt zweimal schreiben müsste.

Wie ein HTML-Element aufgebaut ist

Ein Element besteht meist aus drei Teilen:

<p>Das ist ein Absatz.</p>

Das <p>\texttt{<p>} ist der Start-Tag, dazwischen steht der Inhalt, und </p>\texttt{</p>} ist der End-Tag mit dem Schrägstrich. Elemente dürfen ineinander liegen, müssen sich aber sauber schachteln: Was zuletzt geöffnet wurde, wird zuerst geschlossen.

Ein Start-Tag kann Attribute tragen, also zusätzliche Angaben in der Form Name gleich Wert:

<a href="seite2.html">Weiter zur zweiten Seite</a>
<img src="bild.jpg" alt="Blick auf den Schulhof">

Das Attribut alt\texttt{alt} beim Bild ist keine Nebensache: Es enthält die Bildbeschreibung, die vorgelesen wird und die erscheint, wenn das Bild nicht geladen werden kann.

Das Grundgerüst

Jedes Webdokument hat denselben Rahmen:

<!DOCTYPE html>
<html lang="de">
  <head>
    <meta charset="utf-8">
    <title>Meine Seite</title>
    <link rel="stylesheet" href="stil.css">
  </head>
  <body>
    <h1>Willkommen</h1>
    <p>Der erste Absatz.</p>
  </body>
</html>

Zwei Angaben im Kopf verdienen eine Erklärung, weil sie direkt an frühere Kapitel anschließen:

charset="utf-8"\texttt{charset="utf-8"} sagt dem Browser, nach welcher Vereinbarung die als Zeichen zu lesen sind. Fehlt sie, erscheinen Umlaute als seltsame Zeichenpaare, und zwar genau aus dem Grund, den das Kapitel zur Nachrichtenübertragung beschreibt: Die sind unverändert, die ist falsch.

lang="de"\texttt{lang="de"} nennt die Sprache. Ein Vorleseprogramm wählt danach die Aussprache aus.

Das Grundgerüst als Baum

<html><head><body><title><h1>

Die Einrückung im Quelltext ist kein Schönheitsdienst, sondern dieselbe wie dieser Baum: Was eingerückt steht, steht im Element darüber drin. Und die Aufteilung ganz oben entscheidet über die Sichtbarkeit, <title> hängt am Kopf und erscheint nur im Reiter des Browsers, <h1> hängt am Körper und steht auf der Seite. Zwei Zeilen, die fast gleich aussehen, landen an völlig verschiedenen Orten.

Die wichtigsten Elemente

ElementBedeutung
h1\texttt{h1} bis h6\texttt{h6}Überschriften von der wichtigsten bis zur untergeordneten
p\texttt{p}Absatz
ul\texttt{ul} mit li\texttt{li}Liste ohne Reihenfolge, mit Punkten
ol\texttt{ol} mit li\texttt{li}Liste mit Reihenfolge, nummeriert
a\texttt{a}Verweis auf eine andere Adresse
img\texttt{img}Bild
table\texttt{table}, tr\texttt{tr}, td\texttt{td}Tabelle, Zeile, Zelle
strong\texttt{strong}inhaltlich wichtig

Beachte die Überschriftenebenen: Sie bilden eine Gliederung und werden nicht nach Größe gewählt. Auf eine h1\texttt{h1} folgt eine h2\texttt{h2}, nicht gleich eine h4\texttt{h4}, nur weil die kleiner aussieht.

Vom Quelltext zur sichtbaren Seite

<h1>Meine Seite</h1><p>Hallo, ich lerne HTML.</p><button>Mehr</button>Meine SeiteHallo, ich lerne HTML.Mehrso zeigt der Browser es

Vergleiche Zeile für Zeile: Jedes Element im Quelltext wird zu genau einem Ding im Fenster, in derselben Reihenfolge. Die spitzen Klammern selbst erscheinen nirgends, sie sagen dem Browser, was etwas ist, und verschwinden dann. Genau deshalb heißt HTML eine Auszeichnungs- und keine Programmiersprache.

CSS: Selektor und Eigenschaften

Eine CSS-Regel besteht aus zwei Teilen: Der Selektor sagt, welche Elemente gemeint sind, und in den geschweiften Klammern stehen die Eigenschaften mit ihren Werten.

h1 {
  color: darkblue;
  font-size: 32px;
}

p {
  line-height: 1.5;
}

Gelesen: „Alle Überschriften erster Ebene sind dunkelblau und 32 Pixel groß. Alle Absätze haben eineinhalbfachen Zeilenabstand.“

Der Gewinn ist derselbe wie bei den : Eine Änderung an einer Stelle wirkt überall. Wenn die Überschriften grün werden sollen, ändert man ein Wort, nicht 6000.

Dasselbe HTML, zwei Stylesheets

h1 { color: blue; }/* die zweite Datei */h1 { color: red;font-size: 2em;text-align: center; }Meine SeiteHallo, ichlerne HTML.Mehrerste CSS-DateiMeineSeiteHallo, ichlerne HTML.Mehrzweite CSS-Datei

Das HTML aus dem vorigen Bild ist unverändert, beide Fenster zeigen dieselben drei Elemente in derselben Reihenfolge. Geändert hat sich nur die CSS-Datei, und schon steht die Überschrift größer, mittig und in einer anderen Farbe. Das ist der ganze Gewinn der Trennung: Aussehen ändern, ohne den Inhalt anzufassen.

Testen und veröffentlichen

Testen heißt bei Webdokumenten mehr als „sieht gut aus“:

  1. Im Browser ansehen und alle Verweise anklicken. Ein Tippfehler im Dateinamen fällt sonst niemandem auf.
  2. Bei verschiedenen Fensterbreiten prüfen, mindestens schmal wie ein Telefon und breit wie ein Bildschirm.
  3. Den Quelltext prüfen lassen, etwa mit einem Prüfprogramm. Browser sind sehr nachsichtig und stellen auch fehlerhaftes HTML dar; ein anderer Browser tut das vielleicht anders.
  4. Ohne Bilder ansehen: Erscheinen die Beschreibungen aus dem alt\texttt{alt}-Attribut?

Veröffentlichen heißt, die auf einen Webserver zu legen, der über eine Adresse erreichbar ist. Dazu gehören mehrere Schritte: Die Dateien werden übertragen, eine Adresse wird auf den verwiesen, und für die Startseite gilt eine Namensvereinbarung. Für ein Schulprojekt genügt oft der Schulserver oder eine Netzwerkfreigabe.

Vor jeder Veröffentlichung gehören zwei Fragen dazu, die nichts mit Technik zu tun haben: Habe ich die Rechte an allen Bildern und Texten? Und stehen dort personenbezogene , die dort nicht hingehören? Beides ist in einem späteren Kapitel ausführlich Thema und gilt trotzdem ab dem ersten eigenen Webdokument.

Eine kleine Seite aufbauen

Schreibe ein Webdokument mit einer Überschrift, einem Absatz, einer dreigliedrigen Liste und einem Verweis.

  1. 1

    Zuerst das Grundgerüst mit Kopf und Körper anlegen. In den Kopf gehören Zeichensatz und Titel, in den Körper der sichtbare Inhalt.

  2. 2

    Dann die Elemente nach ihrer Bedeutung wählen:

    <body>
      <h1>Unsere Klassenfahrt</h1>
      <p>Wir waren drei Tage im Harz.</p>
      <ul>
        <li>Wanderung zum Brocken</li>
        <li>Besuch im Bergwerk</li>
        <li>Abend am Lagerfeuer</li>
      </ul>
      <a href="bilder.html">Zu den Bildern</a>
    </body>
    
  3. 3

    Die Liste ist ein ul\texttt{ul}, weil die Reihenfolge der Programmpunkte hier keine Aussage trägt. Wäre es ein Ablaufplan, wäre ol\texttt{ol} richtig.

  4. 4

    Der Verweis braucht das Attribut href\texttt{href} mit dem Ziel. Der Text zwischen den Tags ist das, was man anklickt; er sollte das Ziel beschreiben und nicht „hier klicken“ lauten.

  5. 5

    Zum Schluss testen: im Browser öffnen und den Verweis anklicken. Führt er ins Leere, stimmt der Dateiname nicht.

Überschrift, Absatz, ungeordnete Liste und Verweis, jeweils nach Bedeutung ausgewählt.

Warum die Trennung Arbeit spart

Eine Schulhomepage hat 40 Seiten mit zusammen 200 Überschriften. Die Farbe soll von Blau auf Grün wechseln. Vergleiche den Aufwand mit und ohne CSS.

  1. 1

    Ohne CSS, also mit Farbangaben direkt an jeder Überschrift: 200 Stellen müssen geändert werden, verteilt auf 40 .

  2. 2

    Jede einzelne Änderung kann schiefgehen. Bei 200 Handgriffen ist die Wahrscheinlichkeit hoch, dass mindestens eine Überschrift blau bleibt.

  3. 3

    Mit CSS: In der Datei steht einmal die Regel für h1\texttt{h1}. Geändert wird ein Wort.

  4. 4

    Damit ist die Änderung nicht nur schneller, sondern auch vollständig: Es kann gar keine Überschrift übersehen werden, weil es nur eine Quelle gibt.

  5. 5

    Der Gedanke ist derselbe wie bei einer im Programm: Ein Wert, der an vielen Stellen gebraucht wird, sollte an genau einer Stelle stehen.

Eine Änderung statt 200, und keine Stelle kann vergessen werden.

Typischer Fehler

„Ich nehme h3\texttt{h3} statt h2\texttt{h2}, weil mir die Schrift dann besser gefällt.“

Hier wird das Element nach dem Aussehen gewählt, und genau das hebt die Trennung wieder auf, die HTML und CSS erst nützlich macht.

Die Überschriftenebenen sind eine Gliederung, so wie die Nummerierung in einem Inhaltsverzeichnis. Wer nach h1\texttt{h1} direkt h3\texttt{h3} setzt, behauptet damit, es gebe einen übersprungenen Zwischenpunkt. Ein Vorleseprogramm liest die Ebenen mit vor; für blinde Nutzer entsteht so eine Gliederung mit Löchern, und die Navigation über Überschriften wird unbrauchbar. Suchmaschinen werten dieselbe Struktur aus.

Richtig ist der umgekehrte Weg: Wähle die Ebene nach der Gliederung und stelle die Schriftgröße im CSS ein.

h2 { font-size: 20px; }

Damit stimmt die Bedeutung, und das Aussehen ist trotzdem genau so, wie du es wolltest. Dieselbe Überlegung gilt für Listen, die man nur wegen der Einrückung nimmt, und für Tabellen, die man nur wegen der Anordnung nimmt.

Übung 1

leicht

Welches HTML-Element passt?

a) die Hauptüberschrift der Seite b) eine Aufzählung von vier Zutaten, deren Reihenfolge egal ist c) ein Verweis auf eine andere Seite d) ein Foto mit Bildbeschreibung e) die nummerierten Schritte einer Anleitung

Tipp anzeigen

Bei b) und e) entscheidet die Frage, ob die Reihenfolge etwas bedeutet.

Lösung anzeigen

a) h1\texttt{h1} b) ul\texttt{ul} mit li\texttt{li} c) a\texttt{a} mit dem Attribut href\texttt{href} d) img\texttt{img} mit den Attributen src\texttt{src} und alt\texttt{alt} e) ol\texttt{ol} mit li\texttt{li}, weil die Reihenfolge hier eine Aussage trägt

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    Die Leitfrage von HTML: Was ist es, nicht wie sieht es aus

    HTML beschreibt die Bedeutung eines Textteils, nicht sein Aussehen. Man fragt also nicht „wie soll es aussehen“, sondern „was ist dieser Teil“: eine Überschrift, eine Liste, ein Verweis, ein Bild. Das Aussehen kommt getrennt davon aus CSS.

  2. 2

    a), c) und d): Bedeutung und die nötigen Zusatzangaben

    Die Hauptüberschrift ist h1\texttt{h1}, der oberste Rang im Dokument. Ein Verweis ist a\texttt{a}. Er braucht das Attribut href\texttt{href}, denn ohne Ziel wäre er kein Verweis. Ein Foto ist img\texttt{img} mit src\texttt{src} (welches Bild) und alt\texttt{alt} (die Beschreibung).

  3. 3

    b) und e): Der Stolperfall, trägt die Reihenfolge eine Aussage?

    Vier Zutaten, deren Reihenfolge egal ist, gehören in eine ungeordnete Liste ul\texttt{ul} mit li\texttt{li}. Die nummerierten Schritte einer Anleitung gehören in eine geordnete Liste ol\texttt{ol} mit li\texttt{li}, denn hier bedeutet die Reihenfolge etwas: Schritt 2 vor Schritt 1 wäre falsch.

Übung 2

mittel

Im folgenden Ausschnitt stecken drei Fehler:

<h1>Mein Steckbrief
<p>Ich heiße Jonas.</p>
<img src="foto.jpg">
<h3>Meine Hobbys</h3>

a) Finde alle drei und benenne sie. b) Schreibe den Ausschnitt richtig. c) Erkläre, warum der Browser die Seite trotzdem irgendwie anzeigt.

Tipp anzeigen

Achte auf End-Tags, auf Pflichtattribute und auf die Gliederung der Überschriften.

Lösung anzeigen

a) Erstens fehlt das End-Tag </h1>\texttt{</h1>}. Zweitens fehlt beim Bild das Attribut alt\texttt{alt} mit der Bildbeschreibung. Drittens folgt auf h1\texttt{h1} direkt h3\texttt{h3}; die Ebene h2\texttt{h2} wird übersprungen, obwohl es keinen übergeordneten Zwischenpunkt gibt.

b) Richtig:

<h1>Mein Steckbrief</h1> <p>Ich heiße Jonas.</p> <img src="foto.jpg" alt="Jonas vor dem Schuleingang"> <h2>Meine Hobbys</h2>

c) Browser sind bewusst nachsichtig: Sie versuchen, auch fehlerhaftes HTML sinnvoll darzustellen, statt eine Fehlermeldung zu zeigen. Das ist bequem und gefährlich zugleich, denn ein anderer Browser rät möglicherweise anders, und ein Vorleseprogramm kann mit der kaputten Struktur nichts anfangen. Deshalb prüft man den Quelltext mit einem Prüfprogramm, statt sich auf die Anzeige zu verlassen.

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    Systematisch prüfen statt suchen

    Bei HTML lohnt eine feste Prüfreihenfolge, weil es immer dieselben drei Fehlerarten sind: fehlende End-Tags, fehlende Pflichtattribute und eine unlogische Gliederung. Man geht die Liste einmal durch, statt den Ausschnitt planlos anzustarren.

    Zwischenergebnis

    Drei Prüfpunkte: Tags geschlossen? Attribute vollständig? Überschriftenebenen lückenlos?

  2. 2

    Prüfpunkt 1: End-Tags

    Jedes Element mit Inhalt braucht ein End-Tag. Man liest den Ausschnitt und hakt Paare ab: <p>\texttt{<p>} hat sein </p>\texttt{</p>}, <h3>\texttt{<h3>} hat sein </h3>\texttt{</h3>}. Bei <h1>\texttt{<h1>} findet sich keines.

    Zwischenergebnis

    Fehler 1: </h1>\texttt{</h1>} fehlt.

    <img>\texttt{<img>} ist eine Ausnahme: Es hat keinen Inhalt und deshalb auch kein End-Tag. Solche Elemente heißen leere Elemente.

  3. 3

    Prüfpunkt 2: Pflichtattribute

    Beim Bild ist src\texttt{src} vorhanden, es zeigt auf die . Es fehlt aber alt\texttt{alt}, die Textbeschreibung. Ohne sie erfährt niemand, der das Bild nicht sehen kann, was darauf zu sehen ist.

    Zwischenergebnis

    Fehler 2: alt\texttt{alt} fehlt.

  4. 4

    Prüfpunkt 3: die Gliederung

    Überschriften bilden eine Gliederung wie ein Inhaltsverzeichnis. Nach der Ebene 1 folgt die Ebene 2. Ein Sprung auf Ebene 3 behauptet einen Zwischenpunkt, den es nicht gibt.

    Zwischenergebnis

    Fehler 3: h3\texttt{h3} muss h2\texttt{h2} sein.

Übung 3

schwer

Eine Klasse baut eine Projektseite über den Schulgarten.

a) Entwirf die Gliederung mit Überschriftenebenen für: Titel, drei Themenbereiche und je zwei Unterpunkte. b) Schreibe eine CSS-Regel, die alle Überschriften der zweiten Ebene dunkelgrün und 22 Pixel groß macht. c) Auf einer fremden Seite finden die Schüler ein passendes Foto. Was ist vor der Verwendung zu klären? d) Die Seite zeigt statt Umlauten seltsame Zeichenpaare. Nenne die wahrscheinliche Ursache und ordne sie in das ein.

Tipp anzeigen

Zu d): Welche Angabe im Kopf des Dokuments legt die Leseart der fest?

Lösung anzeigen

a) Gliederung:

h1 Unser Schulgarten h2 Die Beete h3 Gemüse h3 Kräuter h2 Die Tiere h3 Bienen h3 Vögel h2 Der Arbeitsplan h3 Frühjahr h3 Herbst

b) CSS-Regel:

h2 { color: darkgreen; font-size: 22px; }

c) Ob die Verwendung erlaubt ist. Ein Foto ist urheberrechtlich geschützt, auch wenn es frei im Netz zu sehen ist. Zu klären sind: Wer hat es aufgenommen? Steht eine Lizenz dabei, die die Verwendung erlaubt, und unter welchen Bedingungen, etwa mit Namensnennung? Sind Personen darauf zu erkennen, muss zusätzlich deren Einwilligung vorliegen. Ohne geklärte Rechte nimmt man ein eigenes Foto.

d) Wahrscheinlich fehlt die Angabe charset="utf-8"\texttt{charset="utf-8"} im Kopf des Dokuments, oder die wurde in einer anderen Zeichencodierung gespeichert als angegeben. Im Sender-Empfänger-Modell ist die betroffen: Die Bytes sind unverändert angekommen, der Browser liest sie nur nach der falschen Vereinbarung. Es liegt also keine Störung im Übertragungsmedium vor.

Detaillierte Schritterklärung anzeigen

Hier wird jeder Schritt einzeln erklärt, vor allem, warum er gemacht wird.

Erklärungstiefe

✦ Empfohlen: Standard – Die normale Erklärungstiefe passt zum Einstieg.

  1. 1

    a) Die Gliederung folgt dem Inhalt, nicht dem Aussehen

    Überschriftenebenen bilden die Gliederung ab: h1\texttt{h1} für den Titel „Unser Schulgarten“, h2\texttt{h2} für die drei Themenbereiche (Beete, Tiere, Arbeitsplan) und h3\texttt{h3} für die je zwei Unterpunkte. Die Ebene sagt, wie tief etwas im Aufbau steht, nicht, wie groß die Schrift sein soll.

  2. 2

    b) Eine CSS-Regel besteht aus Auswahl und Eigenschaften

    Eine CSS-Regel nennt zuerst, wen sie betrifft (den Selektor h2\texttt{h2}), dann in geschweiften Klammern die Eigenschaften mit ihren Werten: color: darkgreen;\texttt{color: darkgreen;} und font-size: 22px;\texttt{font-size: 22px;}. Sie gilt damit für alle Überschriften der zweiten Ebene auf einen Schlag.

  3. 3

    c) Vor der Verwendung eines fremden Fotos ist die Rechtefrage zu klären

    Zu klären ist, ob die Verwendung erlaubt ist. Ein Foto ist urheberrechtlich geschützt, auch wenn es frei im Netz zu sehen ist. Fragen: Wer hat es aufgenommen? Liegt eine Lizenz vor, und unter welchen Bedingungen (etwa Namensnennung)? Sind Personen erkennbar, braucht es zusätzlich deren Einwilligung. Ohne geklärte Rechte nimmt man ein eigenes Foto.

  4. 4

    d) Kaputte Umlaute im Sender-Empfänger-Modell verorten

    Wahrscheinlich fehlt die Angabe charset="utf-8"\texttt{charset="utf-8"} im Kopf des Dokuments, oder die Datei wurde in einer anderen Zeichencodierung gespeichert als angegeben. Betroffen ist die Decodierung: Die Bytes sind unverändert angekommen, der Browser liest sie nur nach der falschen Vereinbarung. Eine Störung im Übertragungsmedium liegt nicht vor.

Zusammenfassung

Ein Webdokument trennt zwei Dinge: HTML beschreibt Struktur und Bedeutung, CSS beschreibt das Aussehen. Diese Trennung erlaubt Änderungen an einer einzigen Stelle, verschiedene Darstellungen auf verschiedenen Geräten und die maschinelle Auswertung des Inhalts durch Vorleseprogramme und Suchmaschinen. Ein HTML-Element besteht aus Start-Tag, Inhalt und End-Tag und kann im Start-Tag Attribute tragen; Elemente müssen sauber ineinander geschachtelt sein. Die Angabe des Zeichensatzes im Kopf legt fest, nach welcher Vereinbarung die als Zeichen zu lesen sind. Überschriftenebenen bilden eine Gliederung und werden nicht nach Schriftgröße gewählt. Eine CSS-Regel besteht aus Selektor und Eigenschaften. Zum Testen gehören das Anklicken aller Verweise, verschiedene Fensterbreiten, eine Quelltextprüfung und die Ansicht ohne Bilder; vor dem Veröffentlichen sind Urheberrechte und personenbezogene zu klären.