W3docs

HTML <hr> Tag

Das HTML <hr>-Tag markiert einen thematischen Bruch und wird als horizontale Linie dargestellt. Syntax, CSS-Styling, Attribute und Barrierefreiheit.

Das HTML <hr>-Tag steht für einen thematischen Bruch — einen Themenwechsel innerhalb eines Inhaltsabschnitts, etwa einen Szenenwechsel in einer Geschichte oder den Übergang zu einem neuen Thema in einem Referenzartikel. Standardmäßig rendert der Browser es als horizontale Linie, aber sein eigentlicher Zweck ist semantischer, nicht dekorativer Natur.

In HTML5 hat das <hr>-Tag eine Bedeutung: Es teilt Browsern und assistiven Technologien mit, dass die umgebenden Absätze zu unterschiedlichen Themen gehören. In älteren HTML-Versionen wurde es rein als Präsentationselement behandelt, das eine Linie zwischen Inhalten zieht. Wenn heute nur ein dekorativer Trenner ohne Themenwechsel gewünscht wird, sollte statt eines <hr> ein CSS border auf einem anderen Element verwendet werden.

Das visuelle Erscheinungsbild der Linie hängt vom Browser ab; oft wird sie mit einem leichten 3D-Effekt ("schattiert") gezeichnet, der per CSS überschrieben werden kann.

Eine Webseite mit einer Überschrift, einem Absatz, einer horizontalen Linie und einer zweiten Überschrift und einem zweiten Absatz, die zeigen, wie das hr-Element zwei Themen trennt

Wann <hr> verwenden (und wann nicht)

<hr> sollte verwendet werden, wenn ein echter Themenwechsel stattfindet:

  • Zwischen zwei verschiedenen Abschnitten eines langen Artikels oder Dokuments.
  • Zwischen Szenen oder Wechseln in einer Erzählung.
  • Um Gruppen nicht zusammenhängender Formularfelder oder Listenelemente zu trennen, wenn eine neue Überschrift zu schwerwiegend wäre.

<hr> sollte nicht rein zur Dekoration verwendet werden. Wenn die Linie nur optischen Zwecken dient — zum Beispiel als Trenner unter jedem Avatar in einer Liste — erzeugt sie Lärm für Screenreader-Nutzer. In diesem Fall sollte ein border auf einem vorhandenen Element gestaltet oder role="presentation" zum Element hinzugefügt werden, damit es semantisch ignoriert wird. Zur Strukturierung von Seitenbereichen nach Bedeutung, siehe semantische Elemente in HTML5.

Info

Barrierefreiheit: <hr> hat die implizite ARIA-Rolle separator und wird assistiven Technologien zugänglich gemacht — viele Screenreader kündigen es an (zum Beispiel als "Trenner"). Das ist genau das, was bei einem echten thematischen Bruch gewünscht wird, weshalb eine rein dekorative Linie lieber per CSS oder mit role="presentation" umgesetzt werden sollte.

Syntax

Das <hr>-Tag ist leer, was bedeutet, dass das schließende Tag nicht erforderlich ist. In XHTML muss das (<hr>)-Tag jedoch geschlossen werden (<hr/>).

Beispiel des HTML <hr>-Tags:

HTML hr tag

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h1>Learn HTML</h1>
    <p>
      This HTML tutorial will teach you the basics of the (Hyper Text Markup Language) and how to make your website from scratch.
    </p>
    <hr />
    <h1>Learn CSS</h1>
    <p>
      In our CSS tutorial you will learn how to use CSS to control the style and layout of multiple Web pages all at once.
    </p>
  </body>
</html>

HTML <hr> size-Attribut

Das size-Attribut legt die Höhe der Linie fest.

Gefahr

Obwohl das size-Attribut eines der veralteten Attribute ist, wird es noch von allen Browsern unterstützt.

Beispiel des HTML <hr>-Tags mit dem "size"-Attribut:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>A normal horizontal line:</p>
    <hr />
    <p>A horizontal line with a height of 40 pixels:</p>
    <hr size="40" />
  </body>
</html>
Tipp

Eine alternative Möglichkeit, die Größe des <hr>-Tags festzulegen, ist die Verwendung der CSS height Property.

Beispiel des HTML <hr>-Tags mit der height-Eigenschaft:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        height: 20px;
      }
    </style>
  </head>
  <body>
    <p>
      A horizontal line with a height of 20 pixels.
    </p>
    <hr />
  </body>
</html>

HTML <hr> width-Attribut

Das width-Attribut legt die Breite der Linie fest.

Gefahr

Das width-Attribut gehört ebenfalls zur Liste der veralteten Attribute, wird aber von allen Browsern unterstützt.

Beispiel des HTML <hr>-Tags mit dem width-Attribut:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>A normal horizontal line:</p>
    <hr />
    <p>A horizontal line with a width of 30%:</p>
    <hr width="30%" />
  </body>
</html>
Tipp

Verwenden Sie die CSS width Property anstelle des width-Attributs.

Beispiel des HTML <hr>-Tags mit der width-Eigenschaft:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        width: 250px;
      }
    </style>
  </head>
  <body>
    <p>A horizontal line with a width of 250 pixels:</p>
    <hr />
  </body>
</html>

HTML <hr> noshade-Attribut

Das noshade-Attribut entfernt den 3D-Schatteneffekt von der horizontalen Linie.

Gefahr

Das noshade-Attribut ist eines der veralteten Attribute, wird aber von allen Browsern unterstützt.

Beispiel des HTML <hr>-Tags mit dem noshade-Attribut:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Shaded horizontal line :</p>
    <hr />
    <p>Noshaded horizontal line:</p>
    <hr noshade />
  </body>
</html>
Tipp

Um den standardmäßigen 3D-("schattiert"-)Look in CSS zu entfernen, geben Sie dem <hr> einen flachen border und einen transparenten Hintergrund. Die Standardlinie wird mithilfe schattierter Rahmen gezeichnet; durch Ersetzen mit einem einzelnen durchgehenden Rahmen (und Leeren des Hintergrunds) entsteht eine schlichte, flache Linie — dasselbe Ergebnis, das das noshade-Attribut lieferte.

Beispiel des HTML <hr>-Tags mit der border-Eigenschaft:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        border: 1px solid #000000;
        background: transparent;
      }
    </style>
  </head>
  <body>
    <p>
      A horizontal line specified with CSS border Property.
    </p>
    <hr />
  </body>
</html>

HTML align-Attribut

Das align-Attribut legt die Ausrichtung der Linie fest.

Gefahr

Das align-Attribut ist eines der veralteten Attribute, wird aber von allen Browsern unterstützt.

Beispiel des HTML <hr>-Tags mit dem align-Attribut:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <p>Lorem ipsum is simply dummy text...</p>
    <hr align="left" width="70%" />
  </body>
</html>
Tipp

Um ein <hr> zu positionieren, legen Sie eine width fest und steuern Sie den horizontalen marginnicht text-align. Da <hr> ein Blockelement ist, verschiebt text-align es nicht. Verwenden Sie margin-right: auto, um es nach links zu schieben, margin-left: auto, um es nach rechts zu schieben, oder margin: 0 auto, um es zu zentrieren.

Beispiel des HTML <hr>-Tags mit der margin-Eigenschaft:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      hr {
        width: 50%;
        margin-left: 0;
        margin-right: auto;
      }
    </style>
  </head>
  <body>
    <p>A horizontal line specified with CSS margin property</p>
    <hr />
  </body>
</html>
Gefahr

Die Präsentationsattribute des <hr>-Tags sind in HTML5 veraltet. Für das Styling verwenden wir stattdessen CSS.

Das <hr>-Tag gestalten

Die CSS border-Eigenschaft wird verwendet, um die horizontale Linie zu gestalten.

Beispiel des HTML <hr>-Tags mit der border-Eigenschaft gestaltet:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      /* blue border */
      hr.one {
        border-top: 1px solid #1c87c9;
      }
      /* Dashed border */
      hr.two {
        border-top: 1px dashed #1c87c9;
      }
      /* Dotted border */
      hr.three {
        border-top: 1px dotted #1c87c9;
      }
      /* Thick border */
      hr.four {
        border: 1px solid #1c87c9;
      }
      /* Large rounded border */
      hr.five {
        border: 15px solid #1c87c9;
        border-radius: 5px;
      }
    </style>
  </head>
  <body>
    <p>Default:</p>
    <hr />
    <p>Styling "hr" tag</p>
    <hr class="one" />
    <hr class="two" />
    <hr class="three" />
    <hr class="four" />
    <hr class="five" />
  </body>
</html>

Attribute

AttributWertBeschreibung
alignleft center rightLegt die horizontale Ausrichtung einer Linie fest. In HTML5 veraltet, wird aber noch von Browsern aus Gründen der Abwärtskompatibilität unterstützt.
noshadenoshadeLegt fest, dass die Linie ohne 3D-Effekt angezeigt wird. In HTML5 veraltet, wird aber noch von Browsern aus Gründen der Abwärtskompatibilität unterstützt.
sizepixelsLegt die Größe einer Linie fest. In HTML5 veraltet, wird aber noch von Browsern aus Gründen der Abwärtskompatibilität unterstützt.
widthpixels %Legt die Breite einer Linie fest. In HTML5 veraltet, wird aber noch von Browsern aus Gründen der Abwärtskompatibilität unterstützt.

Das <hr>-Tag unterstützt die Globalen Attribute und die Ereignisattribute.

Übung

Übung
Was repräsentiert das HTML hr-Element in HTML5?
Was repräsentiert das HTML hr-Element in HTML5?
Was this page helpful?