W3docs

Veraltete HTML-Attribute

Liste veralteter HTML-Attribute, die Tags, in denen sie genutzt wurden, und die moderne CSS-Eigenschaft als Ersatz – mit Migrationsbeispielen.

Ein veraltetes HTML-Attribut ist eines, das die Spezifikation als überholt markiert hat und von dessen Verwendung abgeraten wird. Die meisten Attribute auf dieser Seite waren präsentationsbezogen – sie steuerten, wie Inhalte aussehen (Farbe, Größe, Ausrichtung, Abstände). Als HTML5 HTML 4.01 ablöste, verlagerte die Spezifikation diese Styling-Verantwortung bewusst aus HTML heraus in CSS, damit das Markup die Struktur beschreibt und Stylesheets das Erscheinungsbild.

Warum diese Attribute entfernt wurden

In der HTML4-Ära war es üblich, <td bgcolor="#ff0000"> oder <font size="5"> direkt im Markup zu schreiben. HTML5 entfernte diese, weil das Vermischen von Präsentation und HTML echte Nachteile hat:

  • Trennung der Verantwortlichkeiten. Styling liegt in CSS, sodass eine einzige Regel jede Zelle neu gestalten kann, anstatt ein Attribut an jedem Tag zu wiederholen.
  • Wartbarkeit. Eine seitenweite Farbänderung bedeutet das Bearbeiten eines einzigen Stylesheets, nicht das Durchsuchen von Hunderten von Inline-Attributen.
  • Validierung. Der W3C Markup Validator und HTML-Linter melden veraltete und obsolete Attribute als Fehler oder Warnungen, sodass sie moderne Build/CI-Prüfungen nicht bestehen.
  • Zukunftssicherheit. Browser rendern die meisten dieser Attribute immer noch durch Legacy-Parsing-Regeln, sodass eine Seite, die sie verwendet, heute meist gut aussieht. Das Risiko ist kein sofortiger Ausfall – es ist, dass das Attribut nicht mehr Teil der Spezifikation ist und die Unterstützung künftig wegfallen kann.

Kurz gesagt: Veraltete Attribute funktionieren in der Regel noch, aber sie sollten auf CSS migriert werden. Die Spalte „Ersatz" unten gibt an, welche Eigenschaft zu verwenden ist.

Warnung

Veraltet ist nicht dasselbe wie obsolet (entfernt). Ein veraltetes Attribut wird zwar nicht empfohlen, aber von Browsern im Allgemeinen noch geparst. Ein obsoletes Feature wurde vollständig aus der Spezifikation entfernt – zum Beispiel bezieht sich basefont hier auf das vollständig obsolete <basefont>-Element, das moderne Browser möglicherweise ignorieren. Alles auf dieser Seite sollte als etwas behandelt werden, das ersetzt werden muss, und obsolete Features als etwas, das möglicherweise bereits wirkungslos ist.

Vorher und nachher: Ein veraltetes Attribut durch CSS ersetzen

Das Migrationsmuster ist immer dasselbe – das präsentationsbezogene Attribut löschen und die Absicht in eine CSS-Regel übertragen. Zum Beispiel eine rote Tabellenzelle:

<!-- Deprecated: presentation baked into the markup -->
<td bgcolor="#ff0000">Sale</td>

<!-- Modern: structure in HTML, color in CSS -->
<td class="sale">Sale</td>
.sale {
  background-color: #ff0000;
}

Einige weitere häufige Konvertierungen im Vergleich:

<!-- align on a paragraph -->
<p align="center">Hello</p>          →  <p class="centered">Hello</p>

<!-- width/height on an image's wrapper, spacing around an image -->
<img src="logo.png" hspace="10" vspace="10">  →  <img src="logo.png" class="spaced">

<!-- text color on the page body -->
<body text="#333333">                →  <body>  (styled in CSS)
.centered  { text-align: center; }
.spaced    { margin: 10px; }
body       { color: #333333; }

Liste veralteter HTML-Attribute

Die folgenden Attribute sind in den aufgeführten Tags veraltet und sollten durch die in der Spalte Ersatz genannte Eigenschaft ersetzt werden.

AttributeBeschreibungVeraltet inErsatz
alignGibt die Ausrichtung des Elements an<caption>, <img>, <table>, <hr>, <div>, <h1>-<h6>, <p>CSS-Eigenschaften text-align, float und vertical-align
alinkGibt die Farbe eines aktiven Links im Dokument an<body>CSS active Pseudo Class
backgroundGibt das Hintergrundbild an<body>CSS background-image Property
bgcolorGibt die Hintergrundfarbe an<body>, <table>, <tr>, <td>, <th>CSS background-color Property
borderGibt die Breite des Rahmens an<img>, <object>CSS border-width Property
clearHebt rechts- oder linksseitige Ausrichtungen auf<br>CSS clear Property
compactGibt an, dass die Liste kleiner als normal dargestellt werden soll<ol>, <ul>CSS font-size, margin und line-height für eine kompaktere Liste
heightGibt die Höhe des Elements an<table>CSS height Property
hspaceGibt den Leerraum oder Innenabstand links oder rechts eines Elements an<img>, <object>CSS padding Property
languageGibt die Skriptsprache an<script>Das type-Attribut
linkGibt die Standardfarbe der Links an<body>CSS link Pseudo Class
noshadeGibt an, dass eine horizontale Linie in einer einzigen Vollfarbe dargestellt werden soll (ohne Schattierung)<hr>CSS border-style Property
nowrapGibt an, dass der Text in der Tabellenzelle nicht umgebrochen werden soll<td>, <th>CSS white-space Property
sizeGibt die anfängliche Breite des Eingabefelds und die Anzahl sichtbarer Zeilen für das Select-Element an<basefont>, <font>, <hr>CSS width Property
textGibt die Farbe des Textes an<body>CSS color property
typeGibt den Listentyp an<li>CSS list-style-type Property
vlinkGibt die Farbe besuchter Links an<body>CSS visited Pseudo Class
valignGibt die vertikale Ausrichtung des Zelleninhalts an<td>, <th>, <tr>CSS vertical-align Property
vspaceGibt den Leerraum oder Innenabstand ober- oder unterhalb eines Elements an<img>,<object>CSS padding Property
widthGibt die Breite des Elements an<hr>,<pre>,<td>,<th>CSS width Property
Info

Nicht alles, was „alt" aussieht, ist veraltet. Das start-Attribut bei <ol> (das die erste Nummer festlegt) und das value-Attribut bei <li> (das die Nummer eines bestimmten Elements festlegt) sind in HTML5 weiterhin gültig – sie beeinflussen die Semantik der Liste, nicht nur ihr Erscheinungsbild, sodass kein Grund besteht, sie durch CSS zu ersetzen.

Weiterführende Themen

  • Die vollständige Übersicht der HTML-Attribute erklärt, wie Attribute funktionieren und welche aktuell gültig sind.
  • Neu beim Auslagern von Styles in Stylesheets? Beginnen Sie mit CSS Syntax und der CSS-Einführung.

Übungen

Übung
Eine Seite verwendet align='center' auf einem Absatz. Was ist der korrekte moderne Ersatz?
Eine Seite verwendet align='center' auf einem Absatz. Was ist der korrekte moderne Ersatz?
Übung
Warum sollten veraltete präsentationsbezogene Attribute auf CSS migriert werden, obwohl Browser sie noch rendern?
Warum sollten veraltete präsentationsbezogene Attribute auf CSS migriert werden, obwohl Browser sie noch rendern?
Übung
Welche der folgenden sind laut W3Docs veraltete HTML-Attribute?
Welche der folgenden sind laut W3Docs veraltete HTML-Attribute?
Was this page helpful?