Cheatah: IE 5.5: Kommentare in CSS-Selektoren

Hi,

uns ist gerade folgendes aufgefallen. Man nehme ein HTML-Dokument:

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">  
<head>  
    <title>CSS-Kommentare beim IE 5.5</title>  
    <style type="text/css">  
        p { color: red; }  
        p, /* Kommentar */  
        p { color: green; }  
    </style>  
</head>  
<body>  
    <p>Ein Täääääxt, ein grüner Täääääxt ...</p>  
</body>  
</html>  

Der IE 5.5 stellt den Absatz in rot dar. Dies ist offenbar unabhängig davon, wie die Selektoren, Elemente und Deklarationen lauten; jede Kombination, die ich für die Regeln ausprobiert habe (z.B. ".foo, p", "p, .foo" oder "body .foo, body p", jeweils mit dem Kommentar dazwischen), führt zu diesem Verhalten, und ursprünglich war der Bug mit einem background-image in einem <div> aufgefallen. Ändert man den Selektor hingegen in "body /* Kommentar */ p" oder (tadaa!) in "p /* Kommentar */, p", ist die Darstellung im IE 5.5 korrekt.

Andere Browser zeigen einen grünen Text - selbst der IE 5.0. Ich muss dazu sagen, dass ich die IE-Versionen in Form einer MultipleIE-Variante installiert habe, "echte" Installationen habe ich nicht getestet.

Meine Recherche nach diesem Bug war erfolglos. Nicht dass es besonders wichtig wäre, aber: Ist jemandem der Bug bekannt? Ist er dokumentiert?

Cheatah

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes
  1. Meine Recherche nach diesem Bug war erfolglos. Nicht dass es besonders wichtig wäre, aber: Ist jemandem der Bug bekannt? Ist er dokumentiert?

    such in diverse "hack-archiven", es gibt viele (vor allem ältere) browser die mit kommentaren in css nicht klar kommen - bekannt ist zb der commented backslash hack

    wie ich schon sehr oft gesagt habe: hacks sind eine ungünstige methode, um css-weichen zu bauen, es gibt hacks die funktionieren (weils viele leute extrem genau ausprobiert haben) nur in bestimmten browsern und das auch zuverlässig - da man aber mit hacks ein fehlverhalten ausnutzt, ist es unmöglich vorherzusagen ob irgendwann in zukunft irgend ein browser wieder exat das selbe fehlverhalten zeigt oder beim selben code ein ganz anderes fehlverhalten

    aus diesem grund sind sauberer, standardkonformer code, das ignorieren von nicht mehr relevanten browsern (dazu gehört der ie5 definitiv) und conditional comments [1] (für verbreitete, aber fehlerhafte microsoft browser) imho die beste lösung

    es gibt/gab einen safari-bug (finde gerade keinen link), bei dem der browser das markup innerhalb der comments trotzdem liest - das als hack zu benutzen ist prinzipiell auch möglich, aber die selben punkte wie bei css-hacks sprechen dagegen

    1. Hi,

      such in diverse "hack-archiven", es gibt viele (vor allem ältere) browser die mit kommentaren in css nicht klar kommen - bekannt ist zb der commented backslash hack

      ja, nur hat der offenbar nichts mit dem beobachteten Bug zu tun. Er tritt ja nur auf, wenn nach einem Komma ein Kommentar steht.

      wie ich schon sehr oft gesagt habe: hacks sind eine ungünstige methode,

      Wie kommst Du plötzlich auf Hacks?

      aus diesem grund sind sauberer, standardkonformer code, das ignorieren von nicht mehr relevanten browsern (dazu gehört der ie5 definitiv) und conditional comments [1] (für verbreitete, aber fehlerhafte microsoft browser) imho die beste lösung

      Meine Meinung, dass die Verwendung von Conditional Comments zur Einbindung von CSS, obwohl es Alternativen gibt, an galoppierende Idiotie grenzt, sollte bekannt sein. Das hat aber mit dem Thema nichts zu tun:

        
      selektor, /* Kommentar */  
      selektor { ... }  
      
      

      _ist_ sauberer, standardkonformer Code.

      es gibt/gab einen safari-bug [...]

      Fein. Ist Dir der von mir beschriebene IE-5.5-Bug ebenfalls schon bekannt gewesen? Hast Du ein Stichwort, unter dem ich ihn finden könnte?

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. ja, nur hat der offenbar nichts mit dem beobachteten Bug zu tun. Er tritt ja nur auf, wenn nach einem Komma ein Kommentar steht.
        Wie kommst Du plötzlich auf Hacks?

        weil das exakt das verhalten eines hacks ist: standardkonfomer code, der von bestimmten systemen anders als es der standard vorsieht interpretiert und darum von irgendjemandem ausgenutzt wird ;)

        Fein. Ist Dir der von mir beschriebene IE-5.5-Bug ebenfalls schon bekannt gewesen? Hast Du ein Stichwort, unter dem ich ihn finden könnte?

        versuchs mit "ie 5.5 comment hack" oder ähnliches ;) - wie gesagt, dein bug ist ein bug - keine frage, aber css-browser-bugs werden eher selten direkt "dokumentiert" sondern eher deren missbrauch in form von hacks - darum dürftest du eben in deinem konkreten fall bei diversen css-hack-seiten mehr info finden

        1. Hi,

          Wie kommst Du plötzlich auf Hacks?
          weil das exakt das verhalten eines hacks ist: standardkonfomer code, der von bestimmten systemen anders als es der standard vorsieht interpretiert und darum von irgendjemandem ausgenutzt wird ;)

          ah, prima. Ich nutze aber nichts aus, sondern stelle einen Bug fest.

          versuchs mit "ie 5.5 comment hack" oder ähnliches ;)

          Das habe ich, ohne Erfolg. Mir geht es vor allem darum, ob jemand den Bug bereits kennt - ansonsten ist er hiermit dokumentiert ;-)

          wie gesagt, dein bug ist ein bug - keine frage, aber css-browser-bugs werden eher selten direkt "dokumentiert" sondern eher deren missbrauch in form von hacks - darum dürftest du eben in deinem konkreten fall bei diversen css-hack-seiten mehr info finden

          Mir will nicht wirklich einfallen, wie man diesen Bug sinnvoll als Hack verwenden kann. Auch das hat meine Suche ein Stück weit erschwert :-)

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
          1. ah, prima. Ich nutze aber nichts aus, sondern stelle einen Bug fest.
            Mir will nicht wirklich einfallen, wie man diesen Bug sinnvoll als Hack verwenden kann. Auch das hat meine Suche ein Stück weit erschwert :-)

            klar, aber andere haben das sicher schon getan - ein ie 5.5-bug der irgendwie als hack missbraucht werden kann (bzw "dein bug") ist sicher schon dokumentiert, den browser gibts ja schon eine ewigkeit

            1. Hi,

              ein ie 5.5-bug der irgendwie als hack missbraucht werden kann (bzw "dein bug") ist sicher schon dokumentiert, den browser gibts ja schon eine ewigkeit

              ACK, nur fand ich halt nichts ...

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
  2. Hallo,

    Meine Recherche nach diesem Bug war erfolglos. Nicht dass es besonders wichtig wäre, aber: Ist jemandem der Bug bekannt? Ist er dokumentiert?

    Ist mir wohl auch schonmal untergekommen. Noch lästiger sind allerdings die
    Fehler bei einigen Browsern wenn im CSS auf eigentlich unnötige Leerzeichen
    verzichtet wird. Ich habe solche Kommentar-Nebenwirkungen zum Anlass genommen,
    CSS-Dateien möglichst durch PHP komplett von Kommentaren gesäubert ausgeben
    zu lassen; als CSS-Weiche schien mir sowas nicht so gut geeignet.
    Und Netscape 4, als er noch mit etwas Verbreitung zu berücksichtigen war,
    erhielt ein eigenes Stylesheet statt der Weiche per Kommentar.

    Falls sich sonst nichts an Beschreibung findet, kann es ja als "Cheatah IE
    5.5 Hack" oder "-Bug" etc. in die Geschichte eingehen;)

    Grüsse

    Cyx23

    1. Hi,

      Ist mir wohl auch schonmal untergekommen.

      hätte mich auch gewundert, wenn der Bug noch niemandem hier begegnet wäre ;-)

      Noch lästiger sind allerdings die
      Fehler bei einigen Browsern wenn im CSS auf eigentlich unnötige Leerzeichen
      verzichtet wird.

      Ja, in diversen IE-Versionen. "Glücklicherweise" wird das Leerzeichen dort nur nach Pseudo-Elementen zwingend benötigt, was allerdings gerade beim Komma-Operator[1] recht hässlich wird.

      Ich habe solche Kommentar-Nebenwirkungen zum Anlass genommen,
      CSS-Dateien möglichst durch PHP komplett von Kommentaren gesäubert ausgeben
      zu lassen;

      Das würde ich auch gern machen, allerdings ist unsere Firma leider[tm] recht groß und verteilt. Bisher haben wir noch kein System gefunden, bei dem der Verzicht auf Kommentare im Live-System nicht kontraproduktiv wäre. Ich kann aber mit Stolz behaupten: Ich arbeite daran ;-)

      als CSS-Weiche schien mir sowas nicht so gut geeignet.

      Nö, mir auch nicht.

      Falls sich sonst nichts an Beschreibung findet, kann es ja als "Cheatah IE
      5.5 Hack" oder "-Bug" etc. in die Geschichte eingehen;)

      Bah, lieber nicht. Eingehen soll der Bug zwar schon, aber nicht in die Geschichte, sondern mit seinem Browser ;-)

      Cheatah

      [1] Ich bin nicht ganz sicher, ob "Operator" hier ein richtiger Begriff ist, aber trotzdem hat er sich bei mir dafür gefestigt ...

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Hallo,

        Bah, lieber nicht. Eingehen soll der Bug zwar schon, aber nicht in die Geschichte, sondern mit seinem Browser ;-)

        ich pflege bei mir ein Biotop, in dem ich auch diesem Browser ein Refugium biete. Und weil er hier akzeptiert und gewürdigt wird, benimmt er sich auch anständig[*]. ;-)

        Schönes Wochenende noch,
         Martin

        [*] Ja, auch mein "echter" IE5.5 SP2 zeigt den grünen Absatz in rot an. Aber solche Schrullen nehme ich ihm nicht übel.

        --
        Eine Nonne kommt in den Himmel. An der Pforte fragt Petrus: "Wer bist du?" - "Ich bin die Braut Jesu." Petrus stutzt einen Moment, ruft dann nach hinten: "He Freunde, habt ihr schon gehört? Der Juniorchef will heiraten!"