Navigation überspringen

Browser ignorieren Klassen und IDs

Problem:

Die Browser ignorieren im Standards Mode Klassen und IDs, obwohl die Syntax des Stylesheets richtig ist.

Unterschiede durch DOCTYPE-Switch in:
Mozilla, Opera, Internet Explorer, Safari, Konqueror
Ursache:

Gemäß der W3C-Spezifikation für HTML 4 sind die Werte für Klassen und IDs »case-sensitiv«, d. h. es besteht ein Unterschied zwischen Groß- und Kleinschreibung. Während die Browser im Quirks Mode diesen Unterschied nicht beachten, ist im Standards Mode die korrekte Schreibweise notwendig.

Des Weiteren dürfen Klassen und IDs nicht mit einer Ziffer beginnen. Der Internet Explorer und Opera zeigen auch hier unterschiedliches Verhalten in Abhängigkeit vom Darstellungsmodus. Im Quirks Mode werden Klassen und IDs mit falscher Schreibweise interpretiert, im Standards Mode werden sie ignoriert. Mozilla, Safari und Konqueror sehen die falsche Schreibweise unabhängig vom Darstellungsmodus als Fehler an und ignorieren Klassen und IDs mit führender Ziffer. Dabei ist zu beachten, dass die gesamte CSS-Regel (Selektoren und Deklarationsblock) inklusive korrekter Selektoren ignoriert wird.

Lösung:

Es ist darauf zu achten, dass die Schreibweise der Werte von Klassen und IDs im HTML-Quelltext exakt mit der Schreibweise der Selektoren im Stylesheet übereinstimmt bzw. die Namen nicht mit einer Ziffer beginnen.

Beispiele:
Sonstiges:
Man könnte vermuten, dass die Browser bei JavaScript ein ähnliches vom Darstellungsmodus abhängiges Verhalten zeigen. Jedoch wird beim Ansprechen einer Klasse oder einer ID über JavaScript unabhängig vom Modus immer die korrekte Schreibweise erwartet.
Verwandte Themen:
Literatur:

Letzte Änderung des Inhaltes: 21.09.05