Chris Ross: IE ignoriert Class

Guten Morgen Forum,

ich hab mal wieder ein Browserproblem mit dem IE 6.0 :((

bin dabei meine Seiten auf HTML 4.01 Trans einzustellen .. W3C "verbietet" dabei die Mehrfachangabe von "id=xyz" in Tabellen, vermutlich wegen "getElementById" - wäre ja auch kein Problem, wenn da nicht der IE wäre ..

ich habe jetzt die id's (für das css) im Quelltext in "class=xyz" gewandelt und die entsprechenden Klassen im CSS angelegt .. Firefox setzt das ganze ohne Probleme um, aber IE weigert sich standhaft, die entsprechende class anzuzeigen .. Aus Kompatibilitätsgründen (weil ich nicht alle Seiten auf einmal ändern kann) habe ich die entsprechenden # ebenfalls im CSS stehen, welche nach der Umstellung  entfernt werden sollen ..
Wenn ich jetzt im Quelltext wieder von "class=" auf "id=" gehe, stellt der IE das dar .. :/

Beispiel:
Code in der CSS-datei
<cut>
#row1     { color: #000000; background-color: #EEF2F7 }

#row2     { color: #000000; background-color: #F5F9FD }

.row1     { color: #000000; background-color: #EEF2F7 }

.row2     { color: #000000; background-color: #F5F9FD }
<cut>

bei <td id='row1' ...> stellt IE den Hintergrund richtig dar,
bei <td class='row1' ...> nicht - dort werden die Zellen in Tabellen-Hintergrundfarbe dargestellt, die ich in <table ... bgcolor='#ACACAC' .. > eingestellt habe?!

Wie gesagt: der FF macht keinerlei Probleme ..

Was mache ich falsch?

Für einen Denkanstoß wäre ich sehr dankbar ..

MfG
Chris

  1. Hi,

    W3C "verbietet" dabei die Mehrfachangabe von "id=xyz" in Tabellen,

    Ersetze "Tabellen" durch "einem Dokument"

    vermutlich wegen "getElementById"

    Nein, sondern wegen des Zwecks einer id, _ein_ Element zu identifizieren.

    Code in der CSS-datei
    #row1     { color: #000000; background-color: #EEF2F7 }
    #row2     { color: #000000; background-color: #F5F9FD }
    .row1     { color: #000000; background-color: #EEF2F7 }
    .row2     { color: #000000; background-color: #F5F9FD }

    gibt es weitere Rulesets, deren Selektoren auf die betroffenen Elemente zutreffen könnten?
    Hat der IE tatsächlich die aktuelle Version des CSS-Files, oder holt er noch eine alte Variante aus dem Cache?

    bei <td id='row1' ...> stellt IE den Hintergrund richtig dar,
    bei <td class='row1' ...> nicht

    Offensichtlich (Name der id/class) willst Du Zeilen formatieren. Du formatierst aber Zellen. Erscheint mir unlogisch.

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hallo Andreas,

      W3C "verbietet" dabei die Mehrfachangabe von "id=xyz" in Tabellen,

      Ersetze "Tabellen" durch "einem Dokument"

      Ok, Formfehler .. :)

      vermutlich wegen "getElementById"

      Nein, sondern wegen des Zwecks einer id, _ein_ Element zu identifizieren.

      Das ist das selbe .. ;)

      gibt es weitere Rulesets, deren Selektoren auf die betroffenen Elemente zutreffen könnten?

      Definitv: Nein

      Hat der IE tatsächlich die aktuelle Version des CSS-Files, oder holt er noch eine alte Variante aus dem Cache?

      Definitiv: Nein .. Er hat die aktuelle CSS-Datei .. selbst wenn er eine Alte hätte, so ändert er ja die Hintergrundfarbe, sobald ich von   "class" auf "id" umstelle ..

      Offensichtlich (Name der id/class) willst Du Zeilen formatieren. Du formatierst aber Zellen. Erscheint mir unlogisch.

      Wie das Kind nun heisst, ist doch völlig egal (solange der Name den Richtlinen entspricht) .. ;)

      MfG
      Chris

      1. Hi,

        Ersetze "Tabellen" durch "einem Dokument"
        Ok, Formfehler .. :)

        vermutlich wegen "getElementById"
        Nein, sondern wegen des Zwecks einer id, _ein_ Element zu identifizieren.
        Das ist das selbe .. ;)

        Nein, ist es nicht.
        getElementById ist eine (von vielen) Möglichkeiten, von der Identifizierbarkeit eines Elements Gebrauch zu machen.

        gibt es weitere Rulesets, deren Selektoren auf die betroffenen Elemente zutreffen könnten?
        Definitv: Nein
        Hat der IE tatsächlich die aktuelle Version des CSS-Files, oder holt er noch eine alte Variante aus dem Cache?
        Definitiv: Nein .. Er hat die aktuelle CSS-Datei .. selbst wenn er eine Alte hätte, so ändert er ja die Hintergrundfarbe, sobald ich von   "class" auf "id" umstelle ..

        Du sagtest, daß das früher (also mit der alten CSS-Datei) so war, daß dort bereits die Farben für die IDs festgelegt wurden.

        Wie verifizierst Du, daß er tatsächlich die aktuelle Version der CSS-Datei benutzt? (Ich setz für sowas die Hintergrundfarbe des body auf irgendwas extremes wie fuchsia oder so ...)

        Offensichtlich (Name der id/class) willst Du Zeilen formatieren. Du formatierst aber Zellen. Erscheint mir unlogisch.
        Wie das Kind nun heisst, ist doch völlig egal (solange der Name den Richtlinen entspricht) .. ;)

        Ich halte es für unsinnig, alle Zellen einer Zeile einzeln zu färben, wenn die gesamte Zeile gefärbt werden soll.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        Schreinerei Waechter
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hoi,

          Wie verifizierst Du, daß er tatsächlich die aktuelle Version der CSS-Datei benutzt? (Ich setz für sowas die Hintergrundfarbe des body auf irgendwas extremes wie fuchsia oder so ...)

          1. lösche ich den Cache des ie von Hand,
          2. nehme ich ebenfalls extreme änderungen vor

          Ich halte es für unsinnig, alle Zellen einer Zeile einzeln zu färben, wenn die gesamte Zeile gefärbt werden soll.

          Ich mache das nach alter Väter Sitte .. :))
          Es wird ne Tabelle erstellt, welche eine Hintergrundfarbe und ein Cellspacing von 1px bekommt .. danach färbe ich die Zellen ein - so entsteht ein "Rahmen" von 1px um die Zellen ..

          Schau dir mal http://www.chevalo.net/forum/index32.php?act=Login an - einmal mit dem FF (sofern vorhanden) und einmal mit dem IE .. für den IE hab ich eine Zelle mit "id" ausgestattet, die anderen mit "class" .. daran kannst du erkennen, dass die class völlig ignoriert werden .. :/

          1. hi,

            Schau dir mal http://www.chevalo.net/forum/index32.php?act=Login an

            Schau du dir mal die Zahlreichen Fehler in deinem HTML und die zahlreichen Fehler in deinem CSS an.

            für den IE hab ich eine Zelle mit "id" ausgestattet, die anderen mit "class" .. daran kannst du erkennen, dass die class völlig ignoriert werden .. :/

            Im HTML-Code der genannten Seite finde ich zwar ein munteres Div- und Tabellengeschachtel - aber es ist nicht eine TD mit einem class-Attribut vorhanden.

            Dafür aber so schönes Sachen wie

            <td id='row1' valign='top' align='left' id='highlight'>

            Angesichts solchen Codes darf man dich wohl fast als HTML-Metzger bezeichnen:
            "Wie viele ID-Attribute hätten's denn gern? Darf es auch ein bisschen mehr sein ...?"

            Also, sieh erst mal zu, dass du die groben Fehler rausbekommst, und dir dann auch selber wieder klar wirst, wie denn nun der aktuelle Bestand deiner Bemühungen ist - Beispielseiten zu nennen, die das in der Problembeschreibung genannte gar nicht enthalten, ist Quark und hilft zur Lösung des Problems wohl kaum weiter.

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hi,

        gibt es weitere Rulesets, deren Selektoren auf die betroffenen Elemente zutreffen könnten?
        Definitv: Nein

        und was ist mit dem Ruleset, welches aus dem (als deprecated markierten!) HTML-Attribut "bgcolor" resultiert?

        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