HTML und CSS: Erste Inhalte - Teil 2
Im 2. Teil unserer HTML / CSS Serie soll es um die wichtigsten HTML-Elemente wie Überschriften, Absätze und Listen gehen und wie du diese gezielt einsetzen kannst.
Im ersten Teil dieser Reihe haben wir uns bereits mit der grundlegenden Struktur einer HTML-Seite auseinandergesetzt. In der darauffolgenden Übung hast du sogar schon eine erste eigene Website erstellt - zugegeben, kein Meisterstück des Webdesigns, aber jede und jeder fängt mal klein an.
Im 2. Teil unserer HTML/CSS-Serie soll es um die wichtigsten HTML-Elemente wie Überschriften, Absätze und Listen gehen und wie du diese gezielt einsetzen kannst.
Überschriften
Genau wie in Textverarbeitungsprogrammen, gibt es auch in HTML verschiedene Überschriften. Diese können als Titel oder Untertitel fungieren.
Überschriften werden in HTML durch das <h[x]>...</h[x]>
-Tag markiert, wobei [x]
für eine Zahl zwischen 1 und 6 steht. Wie auch beispielsweise in Word, werden die Überschriften kleiner, je höher die Zahl wird.
Beispiel:
<h1>Ich bin ein h1 </h1>
<h2>Ich bin ein h2 </h2>
<h3>Ich bin ein h3 </h3>
<h4>Ich bin ein h4 </h4>
<h5>Ich bin ein h5 </h5>
<h6>Ich bin ein h6 </h6>
Diese Überschriften werden (je nach Browser) wie folgt dargestellt:
Ich bin ein h1
Ich bin ein h2
Ich bin ein h3
Ich bin ein h4
Ich bin ein h5
Ich bin ein h6
Absätze
In HTML werden Absätze mit dem <p>
-Tag gekennzeichnet. Absätze beginnen immer in einer neuen Zeile, Browser fügen vor und nach diesen automatisch etwas Leerraum (Rand) ein.
Beispiel:
<p>Das hier ist ein Absatz.</p>
<p>Ich bin ein weiterer Absatz.</p>
Wie HTML im Browser angezeigt wird
Auch wenn es verlockend scheint, kann man die Darstellung des eingegebenen Textes in Absätzen nicht ohne weiteres durch das Einfügen zusätzlicher Leerzeichen oder Zeilen im HTML-Code verändern.
Der Browser entfernt beim Anzeigen der Seite automatisch alle überflüssigen Leerzeichen und Zeilen.
Beispiel:
<p>
Hier stehen
viele Zeilen
im Quelltext,
die der Browser
ignoriert!
</p>
<p>
Hier
stehen ein Haufen Leerzeichen,
welche auch ignoriert
werden!
</p>
Dieser Code wird wie folgt angezeigt:
Hier stehen viele Zeilen im Quelltext, die der Browser ignoriert!
Hier stehen ein Haufen Leerzeichen, welche auch ignoriert werden!
Zeilenumbrüche
Die Lösung für das oben genannte Problem? Zeilenumbrüche!
Mit dem HTML-Tag <br>
fügt man einen Zeilenumbruch ein, ohne einen neuen Absatz beginnen zu müssen.
Beispiel:
<p> Ab hier folgt eine neue Zeile:<br> Und ich bin auch schon die neue Zeile! </p>
<br>
) handelt es sich um eines dieser Elemente, da er schließlich keinen Inhalt enthält!Eine Alternative: Das <pre>
-Element
Möchte man alternativ vorformatierten Text einfügen, kann man auch den <pre>
-Tag verwenden. Text innerhalb dieses Tags behält sowohl Leerzeichen als auch Zeilenumbrüche bei.
Besonders praktisch ist dies beispielsweise bei Code-Blöcken oder Gedichten.
Beispiel:
<pre>
Ich bin ein Gedicht
Hier kommt ein Absatz
Sonst verstehst du mich nicht!
</pre>
Dieser Code wird vom Browser wie folgt wiedergegeben:
Ich bin ein Gedicht Hier kommt ein Absatz Sonst verstehst du mich nicht!
<pre>
-Tags sehr verlockend erscheinen kann, sollte man ihn mit Vorsicht genießen. Wird er zu häufig verwendet, kann dies die Performance der Website beeinträchtigen. Außerdem wird er von vielen Screenreadern nicht korrekt erkannt, was die Barrierefreiheit der Seite einschränkt. Nicht zu vernachlässigen ist auch, dass eine intensive Nutzung dieses Tags die SEO (=Suchmaschinenoptimierung) beeinträchtigt, da Suchmaschinen Text innerhalb von <pre>
-Tags oft als weniger relevant einstufen.Listen
Daten lassen sich geordnet mithilfe von HTML am besten auf zwei verschiedene Arten darstellen: Tabellen und Listen.
Tabellen sind leider weder barrierefrei, noch sind sie besonders Benutzerfreundlich im Sinne des modernen Webdesigns, weshalb sie hier nicht weiter behandelt werden. (Möchtest du trotzdem mehr über Tabellen erfahren, unter gewissen Umständen können sie nämlich dennoch nützlich oder sogar notwendig sein, findest du hier einen ausgezeichneten Artikel.)
In HTML gibt es primär zwei, beziehungsweise 3 Arten von Listen:
- Die geordnete Liste
- Die ungeordnete Liste
- Sonderfall: Die Definitionsliste
Die ungeordnete Liste
Ungeordnete Listen werden nicht nummeriert, werden also (je nach Browser) mit einem Punkt oder einem Strich dargestellt. Sie werden mit einem <ul>
-Tag definiert.
Einzelne Listenelemente stehen dann zwischen <li>...</li>
-Tags.
Beispiel:
<p>Einkaufsliste</p>
<ul>
<li>Kaffee</li>
<li>Hafermilch</li>
<li>Cornflakes</li>
<li>Snacks</li>
</ul>
Die oben genannte Liste wird im Browser wie folgt dargestellt:
Einkaufsliste
- Kaffee
- Hafermilch
- Cornflakes
- Snacks
Die geordnete Liste
Im Gegensatz zur ungeordneten Liste, wird die geordnete Liste durchnummeriert. Sie wird mit einem <ol>
-Tag gekennzeichnet. Wie bereits bei der ungeordneten Liste stehen die einzelnen Einträge zwischen den <li>...</li>
-Tags.
Beispiel:
<p>Einkaufsliste</p>
<ol>
<li>Kaffe</li>
<li>Hafermilch</li>
<li>Cornflakes</li>
<li>Snacks</li>
</ol>
Die oben genannte Liste wird im Browser wie folgt dargestellt:
Einkaufsliste
- Kaffe
- Hafermilch
- Cornflakes
- Snacks
Die Definitionsliste
Die Definitionsliste (engl. "description list", früher auch "definition list") ist ähnlich aufgebaut wie die geordnete und ungeordnete Liste, ermöglicht es allerdings, jedem Listeneintrag eine kurze Erklärung oder Definition anzufügen.
Gekennzeichnet wird die Definitionsliste mit dem <dl>
-Tag. Ein Eintrag steht zwischen <dt>...</dt>
- (definition term), dessen Beschreibung zwischen <dd>...</dd>
-Tags (definition description).
Beispiel:
<dl>
<dt>Tags </dt>
<dd>Strukturieren Inhalt</dd>
<dd>Werden geöffnet und geschlossen</dd>
</dl>
Diese Definitionsliste wird im Browser wie folgt dargestellt:
- Tags
- Strukturieren Inhalt
- Werden geöffnet und geschlossen
Bilder
Eine Website ohne Bilder sieht meistens ziemlich traurig aus. Möchtest du also ein Bild in deine Website einbinden, kannst du dies mit dem <img>
-Tag.
<img>
-Tag auch nicht wieder geschlossen werden.Um dem Browser den Pfad zum Bild mitzuteilen, wird der <img>
-Tag dann noch um das Attribut src="..."
ergänzt.
Um die Seite weiterhin barrierefrei zu halten und im Falle von Ladeproblemen eine Alternative zum Bild anzeigen zu können, ist es sinnvoll, außerdem noch ein alt="..."
-Attribut mit einem Alternativtext zu ergänzen.
Beispiel:
<img src="Pfad" alt="Alternatetext">
Pfade in HTML
Um den Pfad hinter src=
korrekt anzugeben, sind in HTML ein paar Kleinigkeiten zu beachten.
Das wichtigste zuerst: Während unter beispielsweise Windows in Pfaden ein Backslash (\
) verwendet wird, verwendet man in HTML bei der Angabe von Pfaden einen Schrägstrich bzw. Slash (/
).
Absolute- und relative Pfade
Absolute Pfade
- Geben immer den gesamten Pfad an
- Beginnen entweder mit einem Protokoll (meist
http://
oderhttps://
) oder, wenn der Link auf eine Datei auf dem Server verweist, mit einem/
für Root.
Beispiel:
<img src="https://blog.debugdiary.de/content/images/2025/01/image-Edited.png" alt="Debug Diary Logo">
Relative Pfade
- Beziehen sich auf einen Speicherort im Verzeichnis (auf dem Server oder Rechner selbst)
Beispiel:
<img src="/content/images/2025/01/image-Edited.png" alt="Debug Diary Logo">
- Möchte man in einem relativen Pfad nicht auf eine Datei im eigenen Verzeichnis oder einen Unterordner, sondern auf einen Ordner eine Ebene höher verweisen, kann man mit
../
aus dem aktuellen Ordner, in dem sich die Datei befindet "heraus gehen".
Beispiel:
<img src="../../image-Edite.png" alt="Debug Diary Logo">
Mehr Informationen über die Ordnerstruktur und Pfade in HTML findest du hier.
<img>
-Tag ermöglicht es nur ein Bild für alle Bildschirmauflösungen einzufügen. Möchte man unterschiedliche Bilder für unterschiedliche Bildschirme oder Geräte einfügen, geht dies mit dem <picture>-Tag. Mehr dazu in einem späteren Artikel.Links
Links ermöglichen es auf ein anderes Dokument zu springen. Dies kann entweder eine eigene (Unter-)Seite, oder eine andere Website sein.
Ein Hyperlink wird mit dem <a>
-Tag definiert. Das href
-Attribut gibt das Ziel des Links an. Der anzuzeigende Text, bzw. das anzuzeigende HTML-Element steht dann zwischen dem öffnenden (<a>
) und schließenden (</a>
) Tag.
Beispiele:
Ein Link in Textform:
<a href="https://blog.debugdiary.de/"> Hallo, ich bin ein Link </a>
Anzeige:
Huhu, ich bin ein LinkEin Link in Bildform
<a href="https://blog.debugdiary.de/">
<img src="https://blog.debugdiary.de/content/images/2025/01/image-Edited.png" alt="Debug Diary Logo">
</a>
Anzeige:
Praxis
Das war jetzt ein Haufen auf einmal, aber mit ein bisschen Übung, hat man dieses Wissen schnell verinnerlicht.
Mit dieser Übung, sollte das kein Problem sein:
1) Öffne deinen Projektordner
2) Erstelle in diesem Ordner einen weiteren Ordner mit dem Namen "Uebung_2"
3) In diesem Ordner erstellst du eine Datei mit dem Namen "index.html"
4) Öffne die "index.html"-Datei im Editor deiner Wahl
5) Überlege dir ein Thema für deine Website, das kann von deinem Lieblingsessen bis hin zu einer Seite über dein Haustier alles sein.
6) Gliedere das Oberthema deiner Website mit Überschriften in Unterthemen
7) Deine Website sollte außerdem enthalten:
- Einen einführenden Fließtext über dein Thema, welcher durch Absätze gegliedert ist
- Ein Gedicht über dein Thema in einem vorformatierten Block
- Eine unsortierte Liste, in der Fakten über dein Thema aufgezählt werden
- Ein Bild, welches auf den Wikipedia-Artikel über dein Thema verlinkt
8) Glückwunsch! Du kannst jetzt schon erste Inhalte auf deiner Website darstellen und zwischen verschiedenen Seiten verlinken!
Hinweis: Versuche die Beispiele aus diesem Artikel abzutippen. So verinnerlichst du das gelernte wesentlich besser als durch reines kopieren!
Beispiel für eine mögliche Lösung
<!DOCTYPE html>
<html lang="de">
<head>
<title> Nudeln </title>
<meta charset="utf-8">
</head>
<body>
<h1> Nudeln </h1>
<h2> Einführung </h2>
<p> Nudeln sind sehr toll!<br> Sie sind billig, man kann sie in jeder erdenklichen Form essen und sie schmecken einfach immer gut! <br> Ich mag Nudeln.</p>
<h2>Ein Gedicht über Nudeln</h2>
<pre>
Nudeln kannst du essen warm.
Nudeln kannst du essen kalt.
</pre>
<h2>Fakten über Nudeln</h2>
<ul>
<li>Nudeln bestehen meist aus Hartweizen und Wasser</li>
<li>Die längste Nudel der Welt war über 3 km lang</li>
<li>Nudeln gibt es frisch oder getrocknet</li>
<li>Italiener essen durchschnittlich 23 kg Nudeln pro Jahr</li>
</ul>
<h2>Mehr über Nudeln</h2>
<a href="https://de.wikipedia.org/wiki/Nudel_(Lebensmittel)">
<img src="https://upload.wikimedia.org/wikipedia/commons/6/63/Nudeln_trocken_makro.jpg" alt="Bild mit Nudeln">
</a>
</body>
</html>
Fazit
In diesem Teil unserer HTML/CSS-Serie hast du die wichtigsten HTML-Elemente kennengelernt. Du bist mittlerweile in der Lage einfache Websites mit HTML zu erstellen, Bilder, Links und verschiedenste Listen einzufügen und Text grundlegend zu formatieren.
Im nächsten Teil werden wir uns gemeinsam mit komplexeren HTML-Elementen wie Formularen auseinandersetzen und anschließend in das Design von Websites mit CSS eintauchen.