HTML Typografie & Textstruktur

Texte sind das Rückgrat jeder Website.

Typografie & Textstruktur

Texte sind das Rückgrat jeder Website. HTML bietet dafür eine Vielzahl von Elementen, um Inhalte nicht nur optisch, sondern auch semantisch zu strukturieren. In diesem Kapitel lernst du, welche Tags es für Überschriften, Absätze, Betonungen und spezielle Textarten gibt - und wann du sie einsetzt.

Überschriften: <h1> - <h6>

Überschriften gliedern Inhalte hierarchisch. Sie helfen sowohl Leser*innen als auch Suchmaschinen, den Aufbau deiner Seite zu verstehen. Die Reihenfolge ist dabei wichtig - <h1> ist die wichtigste Überschrift, <h6> die unwichtigste.

Tag Beispiel Bedeutung
<h1> Seitentitel Einmal pro Seite - beschreibt das Hauptthema
<h2> Abschnittsüberschrift Wichtige Unterthemen
<h3> Unterüberschrift Detailunterteilungen innerhalb eines Abschnitts
<h4> Kleinere Unterpunkte Wird seltener genutzt, meist in langen Artikeln
<h5> Kleiner Untertitel Geringe Bedeutung, eher stilistisch
<h6> Mini-Überschrift Kaum Relevanz, selten verwendet
Best Practice

Achte auf die Hierarchiestufen, also kein <h4> direkt nach einer <h2>. Eine klare Struktur ist wichtig für Barrierefreiheit und SEO. In der Praxis führt es selten zu technischen Problemen, aber es ist schlechte Informationsarchitektur.

Absätze, Zeilen & Inline-Text

Tag Beispiel Bedeutung
<p>

Ein normaler Absatz.

Standardblock für Text
<br> Zeilenumbruch
in einem Text
Wechsel in die nächste Zeile, kein neuer Absatz
<span> Inline-Markierung Zum Hervorheben oder Stylen einzelner Wörter im Textfluss
<hr>
Horizontale Trennlinie zur Strukturierung
Tipp

<span> ist semantisch neutral - nutze es, wenn du etwas nur optisch hervorheben willst, nicht inhaltlich.

Betonung, Gewichtung & Bedeutung

Hier geht’s um feine Unterschiede: Fett ist nicht gleich fett - entscheidend ist, warum etwas hervorgehoben wird. HTML unterscheidet zwischen rein visueller Hervorhebung und semantischer Betonung.

Semantik vs. Optik - Der Unterschied

Semantische Tags haben eine Bedeutung für Browser, Screenreader und Suchmaschinen - visuelle Tags ändern nur das Aussehen.

  • <strong> = Bedeutung wichtig
  • <em> = Tonfall betont
  • <b> = nur visuell fett
  • <i> = nur visuell kursiv
Tag Darstellung Bedeutung
<strong> starke Betonung inhaltlich wichtig - Screenreader betonen es mit Nachdruck
<em> betonte Betonung leichtere Betonung, z. B. Tonfall oder Gegensatz
<b> fett visuell fett, ohne inhaltliche Bedeutung
<i> kursiv visuell kursiv, z. B. Sprachstile, technische Begriffe, Gedanken
<mark> markiert visuell hervorgehoben wie mit Textmarker
<small> kleiner Text Hinweise, Copyright, Fußnoten
<del> durchgestrichen zeigt gelöschten oder veralteten Text an
<ins> unterstrichen zeigt hinzugefügten Text an
<sup> E=mc2 hochgestellter Text (Superscript)
<sub> H2O tiefgestellter Text (Subscript)
title="" Das ist ein Tooltip Tooltip beim Hovern*
<abbr> HTML Abkürzung mit Erklärung (Hover zeigt vollen Begriff)
<time> Maschinenlesbares Datum/Uhrzeit für SEO & Apps
Tooltip Info

Mobile Geräte haben keine echten Hover-Tooltips. Alternativ kannst du <abbr> oder benutzerdefinierte Tooltips verwenden.

Was sind benutzerdefinierte Tooltips?

Tooltips entstehen nicht nur über title="": <p>Das ist ein <span title="Das ist ein Tooltip">Tooltip</span></p>.

Du kannst sie auch selbst mit HTML und CSS bauen. Diese sind flexibler und funktionieren auch mobil besser.

Grundidee:

<span class="tooltip" data-tip="Ich bin ein Tooltip">Hover mich</span>

Und das CSS dazu:

.tooltip {
    position: relative;
    cursor: help;
}

.tooltip:hover::after {
    content: attr(data-tip);
    position: absolute;
    top: 100%;
    left: 0;
    background: #333;
    color: #fff;
    padding: .3rem .5rem;
    border-radius: 4px;
    font-size: .85rem;
    white-space: nowrap;
}

Fazit: Für einfache Tooltips brauchst du kein JavaScript - CSS reicht völlig.

Zitate

Tag Darstellung Verwendung
<blockquote>
Dies ist ein längeres Zitat aus einer externen Quelle.
Längere Zitate mit Quellenangabe
<q> kurzes Zitat Kurzform im Fließtext, Anführungszeichen unten und oben
<cite> Autor oder Quelle Angabe der Quelle eines Zitats

Code & Spezielle Textarten

Tag Darstellung Verwendung
<code> <h1> Kurzform für Code oder Befehle im Text
<pre>
Mehrzeiliger Text
mit Zeilenumbrüchen
Erhält Zeilenumbrüche und Einrückungen
<kbd> Cmd + C Tastatureingaben oder Shortcuts
<samp> Error 404 Ausgabe von Programmen oder Systemen
Hinweis

Für echte Daten immer Tabellen <table> verwenden, <pre> nur für CLI-Output oder Dokumentation. Wenn du mehr über Tabellen erfahren willst, findest du hier das Tutorial HTML Tabellen.

Spielereien — nicht für den Alltag wichtig, aber cool zu wissen

Nice: Das <pre>-Tag ist eigentlich für Code gedacht, es kann aber auch anderweitig eingesetzt werden:

ASCII-Art

<pre>
     /\_/\  
    ( o.o ) 
     > ^ 
</pre>

Für ein bisschen Art zwischendurch.

Gedichte oder Liedtexte

<pre>
   Roses are red,
   Violets are blue,
   Whitespace matters,
   And so do you.
</pre>

Wenn Zeilenumbrüche ohne <br> wichtig sind

Tabulare Daten ohne echte Tabelle

<pre>
   Name        Alter    Stadt
   Max         25       Berlin
   Anna        30       München
</pre>

z.B. CLI-Output (Befehlszeilenschnittstelle).

Code


<pre><code>function hello() {
    console.log("Hi!");
}</code></pre>

dann idealerweise mit <code> kombiniert

Definitionen

Wenn du einen Begriff zum ersten Mal erklärst, kannst du ihn mit <dfn> kennzeichnen. Screenreader erkennen so: „Das ist die Definition dieses Begriffs.“

Tag Beispiel Bedeutung
<dfn>

HTML ist die HyperText Markup Language.

Markiert einen Begriff, der definiert wird

Kontaktangaben

Für Adressen, Kontaktwege oder Autor*innen-Infos gibt es ein eigenes Tag: <address>. Es wird häufig im Footer eingesetzt.

Tag Beispiel Verwendung
<address>
Geschrieben von DevPanicZone.
E-Mail: mail@example.com
Kontaktinformationen (Autor, Firma, Adresse)
<address>Kontaktinformationen</address>

Schreibrichtung & Textfluss

Neben normalem Links-nach-Rechts-Text kannst du auch die Schreibrichtung beeinflussen. Das ist vor allem für internationale Inhalte wichtig.

Mit <bdo> - bidirectional override - kannst du einen Text umgekehrt darstellen. Mit "rtl" gibst du die umgekehrte Richtung an. dir="rtl" - direction="right to left". Eine nette Spielerei.

Dieser Text ist umgekehrt <p><bdo dir="rtl">Dieser Text ist umgekehrt</bdo></p>

Tag Beispiel Bedeutung
<bdo> Dieser Text ist umgekehrt „Bidirectional Override“ - erzwingt die Lesrichtung
<bdi> Benutzername: User_123 „Bidirectional Isolation“ - isoliert eingebetteten Text, z. B. Usernamen

Details - Inhalt ausklappen

Ein spannendes Element: <details>. Verstecke nicht allzu wichtigen Text und lasse dem User die Wahl, ob die Details gelesen werden. Es verhält sich wie ein Toggle.

Details - Inhalt anzeigen

Öffne und schließe dieses Element

<details> ist quasi der Container für den Inhalt. <summary> ist der angezeigt Text, der zum Öffnen des Details auffordert.

HTML
<details>
    <summary>Inhalt anzeigen</summary>
    <div>
        <p>Öffne und schließe dieses Element</p>
        <p>
        <details> ist quasi der Container für den Inhalt.
        <summary> ist der angezeigt Text, der zum Öffnen des Details
            auffordert.
        </p>
    </div>
</details>

Worttrennung & lange Wörter

Lange Wörter können das Layout sprengen, besonders auf kleinen Bildschirmen. Mit <wbr> kannst du Browsern erlauben, an bestimmten Stellen umzubrechen.

Beispiel:

SehrLangesWortMitTrennstelle: <p>SehrLangesWort<wbr>MitTrennstelle</p>

Tipp

<wbr> ist ideal für lange URLs, Dateinamen oder deutsche Komposita.

Sonderzeichen & HTML-Entities

Manche Zeichen haben in HTML eine besondere Bedeutung und müssen „escaped“ werden, damit sie vom Browser dargestellt werden. Die wichtigsten findest du hier:

Entity Zeichen Verwendung
&lt; < Kleiner-als-Zeichen in Code anzeigen
&gt; > Größer-als-Zeichen
&amp; & Und-Zeichen
&nbsp; (festes Leerzeichen) geschütztes Leerzeichen, z. B. bei Zahlen + Einheit

ARIA: Zusätzliche Hinweise für Screenreader

ARIA-Attribute geben Screenreadern Extra-Informationen, wenn HTML selbst nicht genug aussagt. Für normale Texte brauchst du sie kaum - aber gut zu wissen, dass es sie gibt.

Attribut Beispiel Bedeutung
aria-label <span aria-label="Volltext">…</span> Screenreader-Text, der statt des sichtbaren Inhalts gelesen wird
aria-labelledby <div aria-labelledby="title">…</div> Verweist auf ein anderes Element, das den Titel liefert
aria-hidden="true" <span aria-hidden="true">★</span> Verbirgt Deko-Elemente für Screenreader
Hinweis

Nutze ARIA nur, wenn die HTML-Semantik nicht ausreicht. Alles, was mit HTML selbst lösbar ist, sollte auch damit gemacht werden.

Typografie: Kleine Best Practices

Ein paar Grundregeln machen Texte im Web deutlich lesbarer. Sie sind kein Muss, aber gute Orientierung für saubere Typografie.

  • Zeilenhöhe: Ideal sind line-height: 1.4-1.7; für längere Lesetexte
  • Absatzlänge: 45-90 Zeichen pro Zeile sind am angenehmsten zu lesen
  • Nicht mit <br> layouten: <br> ist für echte Zeilenumbrüche gedacht - nicht für Abstände
  • Kontraste: Guter Hell/Dunkel-Kontrast ist wichtig für Barrierefreiheit
  • Absätze: Genug "Luft lassen" (White Space), z. B. margin-bottom: statt mehrere <br>-Tags setzen
Tipp

Eine ruhige, gleichmäßige Typografie wirkt professioneller und hilft, Inhalte schneller zu erfassen.

Ruby-Anmerkungen

Für Sprachen wie Japanisch gibt es <ruby>. Damit kannst du Aussprachen oder kleine Übersetzungen direkt über dem Text anzeigen.

kan

Wird nicht oft gebraucht, aber gut zu wissen!

Zusammenfassung

Mit diesen Elementen hast du alles, was du brauchst, um Texte in HTML korrekt und semantisch sauber zu strukturieren. So bleibt deine Website nicht nur übersichtlich, sondern auch barrierefrei und suchmaschinenfreundlich.

Auf einen Blick
  • <h1>-<h6>: Überschriften-Hierarchie
  • <p>: Absätze
  • <strong>, <em>: Bedeutung & Betonung
  • <span>: neutrale Inline-Markierung, geeignet zum stylen oder für Tooltips
  • <blockquote>, <q>, <cite>: Zitate & Quellen
  • <code>, <pre>, <kbd>: technischer Text

Mehr aus HTML

Tutorials werden geladen...