Menu

HTML horizontale Linie: das hr-Tag und wie du es stylst

Eine horizontale Linie zeichnest du in HTML mit dem <hr>-Tag. Hier lernst du, was es bedeutet, wie du Farbe, Dicke, Breite und Stil mit CSS änderst, wie du eine Trennlinie mit Text in der Mitte baust und wie du eine vertikale Linie machst.

Diese Seite enthält ausführbare Editoren - bearbeiten, ausführen und Ausgabe sofort sehen.

So fügst du eine horizontale Linie ein

Setz <hr> zwischen zwei Inhaltsblöcke. Es hat kein schließendes Tag:

Standardmäßig zieht sich die Linie über die volle Breite ihres Containers, hat einen kleinen Außenabstand darüber und darunter und wird als dünner grauer inset-Rahmen gezeichnet (eine helle und eine dunkle Kante).

<hr> steht für horizontal rule. In HTML bedeutet es einen thematischen Umbruch: einen Themen- oder Szenenwechsel innerhalb eines Abschnitts. Screenreader sagen es als Trenner an. Wenn du nur eine dekorative Linie willst (unter einer Überschrift, um eine Karte), zeichne sie stattdessen mit einem CSS-Rahmen an diesem Element.

Ein hr mit CSS stylen

Das Standardaussehen kommt von Rahmen, der zuverlässige Weg, ein <hr> zu stylen, ist also, sie zu entfernen und selbst einen Rahmen zu zeichnen:

Um zu ändernNimm
Farbeborder-top: 2px solid #2563eb (nach border: none)
DickeDie Breite in diesem Rahmen, etwa 6px
Stilsolid, dashed, dotted, double
Längewidth: 40%, dazu margin-inline: auto zum Zentrieren
Abgerundete Endenheight + background + border-radius statt eines Rahmens
Abstand drumherummargin

Nur color: blue an einem hr zu setzen ändert die Linie in aktuellen Browsern zwar, aber der Standardstil inset schattiert sie, und sie behält eine Höhe von 2px. Wenn du den Rahmen zurücksetzt, bekommst du genau das, was du angibst.

Alte hr-Attribute

Alter Code verwendet Attribute direkt am Tag:

<hr size="4" width="50%" color="red" noshade align="left">

size, width, color, noshade und align sind obsolet. Browser wenden sie noch an, damit alte Seiten richtig aussehen, aber sie sind ungültiges HTML und später schwerer zu ändern. Ersetze sie durch das CSS oben.

Eine Trennlinie mit Text in der Mitte

Die „oder“-Linie zwischen zwei Anmelde-Buttons ist kein <hr> (ein hr kann keinen Text enthalten). Sie ist eine Flex-Reihe mit einer Linie auf jeder Seite des Wortes:

Die beiden Teile ::before und ::after nehmen mit flex: 1 jeweils die Hälfte des freien Platzes ein und zeichnen einen oberen Rahmen. Ändere or in ein längeres Wort, und die Linien schrumpfen passend.

Vertikale Linien

Eine vertikale Version von <hr> gibt es nicht. Zeichne eine vertikale Linie mit einem Rahmen auf einer Seite eines Elements oder mit einem schmalen Element in einer Flex-Reihe:

border-inline-start setzt die Linie an den Anfang des Textes, der im Deutschen links und im Arabischen oder Hebräischen rechts liegt, das Layout funktioniert also in beiden Richtungen.

Häufige Fehler

  • </hr> schreiben. <hr> ist ein Void-Element. <hr> oder <hr /> ist alles, was du brauchst.
  • <hr> zur Dekoration verwenden. Screenreader sagen jedes an. Eine Linie, die nur optisch ist, gehört ins CSS.
  • Nur mit color stylen. Setz den Rahmen mit border: none zurück und setz border-top.
  • Linien mit <br> oder Unterstrichen zeichnen. Nimm <hr> oder einen Rahmen. Wofür <br> gedacht ist, steht auf der Seite zum Zeilenumbruch.
  • Obsolete Attribute verwenden. Verschieb size, width, color und noshade ins CSS.

Häufig gestellte Fragen

Wie füge ich in HTML eine horizontale Linie ein?

Nimm das <hr>-Tag in einer eigenen Zeile. Es ist ein Void-Element ohne schließendes Tag und zeichnet eine Linie über die volle Breite seines Containers.

Wie ändere ich die Farbe eines hr?

Entferne den Standardrahmen und zeichne deinen eigenen: hr { border: none; border-top: 2px solid #2563eb; }. Nur color zu setzen ändert sie auch, aber durch den Standardstil inset bleibt sie schattiert und zweifarbig.

Wie mache ich ein hr dicker?

Setz die Rahmenbreite: hr { border: none; border-top: 4px solid #111827; }. Das Attribut size aus alten Tutorials funktioniert in Browsern noch, ist aber obsolet, nimm also CSS.

Wofür steht hr?

Horizontal rule, also horizontale Linie. Im aktuellen HTML bedeutet es einen thematischen Umbruch: einen Themen- oder Szenenwechsel zwischen Absätzen. Screenreader sagen es als Trenner an.

Wie mache ich eine vertikale Linie in HTML?

HTML hat kein Tag für eine vertikale Linie. Gib einem Element einen Rahmen auf einer Seite, etwa border-inline-start: 2px solid #e5e7eb, oder nimm ein schmales Element mit Hintergrundfarbe in einer Flex-Reihe.

Coddy programming languages illustration

Lerne mit Coddy zu programmieren

LOS GEHT'S