Stefan Muenz: all.Klassenname und Gedanken zum Entfernen von Befehlen

Liebe Forumsbesucher,

kann sein, dass dies im Verlauf der Diskussionen um den IE5 schon bemerkt worden ist, aber ich hab's eben erst entdeckt <g>:

durch einen Leser bin ich darauf aufmerksam gemacht worden, dass das Beispiel der Uhrzeitanzeige in </selfhtml/tfcaa.htm> im MS IE 5 nicht mehr korrekt funktioniert. Die Uhr laeuft zwar wie sie soll, JavaScript-maessig ist also alles in Ordnung. Aber die CSS-Angaben, mit deren Hilfe der <div>-Bereich fuer die Uhrzeitanzeige definiert wird, werden ignoriert. Im 4er-IE lief dagegen alles einwandfrei. Der Grund ist, wie ich herausgefunden habe, das Wort all als Klassenname:

all.Uhr { font-family:Century Gothic,Arial; font-size:36pt; color:#E000E0; }

ist nicht mehr erlaubt, es darf jetzt nur noch heissen:

.Uhr { font-family:Century Gothic,Arial; font-size:36pt; color:#E000E0; }

Hab dann sicherheitshalber noch mal bei http://www.w3.org/TR/WD-css1.html#class-as-selector nachgesehen. Natuerlich ist da auch keine Rede von "all" mehr, obwohl als Datum der Spec der 17.12.1996 ausgewiesen ist. Sicherlich hab ich das alles nur getraeumt seinerzeit, als ich es aufgrund dieser Spec beschrieben habe, genauso wie manch andere Einzelheit aus diesen W3-Dingern.

Manchmal zweifle ich wirklich an meinem Verstand - aber halt, ein Rettungsanker: wieso hat denn der 4er-IE dieses "all" verstanden. War da am Ende doch mal was? Und seit wann ist es eigentlich Sitte, alte Befehle so ploetzlich ganz zu entfernen? Vielleicht schmeissen sie ja in der naechsten Version einfach auch mal das <th>-Tag raus, weil das mittlerweile nicht mehr viel Sinn macht angesichts <thead>...</thead> - und Daten, die innerhalb von <th>....</th> stehen, werden von da an einfach ignoriert. Und W3 schmeisst es zeitgleich klammheimlich aus der HTML-Spec, und alle, die es bis dahin benutzt haben, stehen da wie Leute, die nur etwas zusammenphantasiert haben.

OK, es gibt Schlimmeres auf der Welt ;-)
viele Gruesse
  Stefan Muenz

  1. Hallo Stefan!

    durch einen Leser bin ich darauf aufmerksam gemacht worden, dass das Beispiel der Uhrzeitanzeige in <../../tfcaa.htm> im MS IE 5 nicht mehr korrekt funktioniert. Die Uhr laeuft zwar wie sie soll, JavaScript-maessig ist also alles in Ordnung. Aber die CSS-Angaben, mit deren Hilfe der <div>-Bereich fuer die Uhrzeitanzeige definiert wird, werden ignoriert. Im 4er-IE lief dagegen alles einwandfrei. Der Grund ist, wie ich herausgefunden habe, das Wort all als Klassenname:

    all.Uhr { font-family:Century Gothic,Arial; font-size:36pt; color:#E000E0; }

    ist nicht mehr erlaubt, es darf jetzt nur noch heissen:

    .Uhr { font-family:Century Gothic,Arial; font-size:36pt; color:#E000E0; }

    Hab dann sicherheitshalber noch mal bei http://www.w3.org/TR/WD-css1.html#class-as-selector nachgesehen. Natuerlich ist da auch keine Rede von "all" mehr, obwohl als Datum der Spec der 17.12.1996 ausgewiesen ist. Sicherlich hab ich das alles nur getraeumt seinerzeit, als ich es aufgrund dieser Spec beschrieben habe, genauso wie manch andere Einzelheit aus diesen W3-Dingern.

    Manchmal zweifle ich wirklich an meinem Verstand - aber halt, ein Rettungsanker: wieso hat denn der 4er-IE dieses "all" verstanden. War da am Ende doch mal was? Und seit wann ist es eigentlich Sitte, alte Befehle so ploetzlich ganz zu entfernen? Vielleicht schmeissen sie ja in der naechsten Version einfach auch mal das <th>-Tag raus, weil das mittlerweile nicht mehr viel Sinn macht angesichts <thead>...</thead> - und Daten, die innerhalb von <th>....</th> stehen, werden von da an einfach ignoriert. Und W3 schmeisst es zeitgleich klammheimlich aus der HTML-Spec, und alle, die es bis dahin benutzt haben, stehen da wie Leute, die nur etwas zusammenphantasiert haben.

    Kann das sein, daß es auch der Grund dafür ist, daß das von Andreas Bierhals bearbeitete Beispiel (basierend auf einem älteren Forumsbeitrag eines gewissen Ali) mit dem IE 5 nicht funktioniert?

    Das Beispiel wäre ansonsten in der Forumsauslese im DHTML-Part gekommen.

    Bis danndann

    PAF (patrickausfrankfurt)

  2. Hallo Stefan!

    Hab dann sicherheitshalber noch mal bei http://www.w3.org/TR/WD-css1.html#class-as-selector nachgesehen. Natuerlich ist da auch keine Rede von "all" mehr, obwohl als Datum der Spec der 17.12.1996 ausgewiesen ist. Sicherlich hab ich das alles nur getraeumt seinerzeit, als ich es aufgrund dieser Spec beschrieben habe, genauso wie manch andere Einzelheit aus diesen W3-Dingern.

    Manchmal zweifle ich wirklich an meinem Verstand - aber halt, ein Rettungsanker: wieso hat denn der 4er-IE dieses "all" verstanden. War da am Ende doch mal was?

    Du hast recht, da ist nichts mehr in den alten Spec. drinn.
    Aber es ist eigentlich nicht besonders verwunderlich, wenn man einige Überlegungen anstellt.

    -die Browserhersteller kochen ja ihr eigenes Süppchen, und die sind ja auch beim W3C dabei.

    • Netscape unterstüzt ja auch ihr eigene CSS-Angaben ( layer-backgroung-color / align:center /usw.)
      -es kann sein das das 'all' im CSS [ebenso wie im JS] ein proprietäres-format von MS war.
      -W3C ist ja auch nicht gerade das, was man eine 'friedliche Stube' nenne könnte. Es wird ganz schön hart um die Durchsetzung der browser-hauseigenen Standard gekämpft. Mal ist der eine Partei mal die andere stärker.
      -So ist es ja möglich, wenn auch nicht sehr standardkonform, daß angaben einfach verschwinden.

    Hoffentlich ist sowas nicht die gängige Verfahrensweise beim W3C. (wenn überhaupt)

    Grüße
    Thomas