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.
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.
| Attribute | Beschreibung | Veraltet in | Ersatz |
|---|---|---|---|
| align | Gibt die Ausrichtung des Elements an | <caption>, <img>, <table>, <hr>, <div>, <h1>-<h6>, <p> | CSS-Eigenschaften text-align, float und vertical-align |
| alink | Gibt die Farbe eines aktiven Links im Dokument an | <body> | CSS active Pseudo Class |
| background | Gibt das Hintergrundbild an | <body> | CSS background-image Property |
| bgcolor | Gibt die Hintergrundfarbe an | <body>, <table>, <tr>, <td>, <th> | CSS background-color Property |
| border | Gibt die Breite des Rahmens an | <img>, <object> | CSS border-width Property |
| clear | Hebt rechts- oder linksseitige Ausrichtungen auf | <br> | CSS clear Property |
| compact | Gibt an, dass die Liste kleiner als normal dargestellt werden soll | <ol>, <ul> | CSS font-size, margin und line-height für eine kompaktere Liste |
| height | Gibt die Höhe des Elements an | <table> | CSS height Property |
| hspace | Gibt den Leerraum oder Innenabstand links oder rechts eines Elements an | <img>, <object> | CSS padding Property |
| language | Gibt die Skriptsprache an | <script> | Das type-Attribut |
| link | Gibt die Standardfarbe der Links an | <body> | CSS link Pseudo Class |
| noshade | Gibt an, dass eine horizontale Linie in einer einzigen Vollfarbe dargestellt werden soll (ohne Schattierung) | <hr> | CSS border-style Property |
| nowrap | Gibt an, dass der Text in der Tabellenzelle nicht umgebrochen werden soll | <td>, <th> | CSS white-space Property |
| size | Gibt die anfängliche Breite des Eingabefelds und die Anzahl sichtbarer Zeilen für das Select-Element an | <basefont>, <font>, <hr> | CSS width Property |
| text | Gibt die Farbe des Textes an | <body> | CSS color property |
| type | Gibt den Listentyp an | <li> | CSS list-style-type Property |
| vlink | Gibt die Farbe besuchter Links an | <body> | CSS visited Pseudo Class |
| valign | Gibt die vertikale Ausrichtung des Zelleninhalts an | <td>, <th>, <tr> | CSS vertical-align Property |
| vspace | Gibt den Leerraum oder Innenabstand ober- oder unterhalb eines Elements an | <img>,<object> | CSS padding Property |
| width | Gibt die Breite des Elements an | <hr>,<pre>,<td>,<th> | CSS width Property |
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.