Moin,
der Firefox scheint ein kleines Problem mit dynamisch erzeugten Rahmenlinien einer Tabelle zu haben. Hier ein Codebeispiel:
td { border-style:none; border-width:1px; border-color:#000000 }
td.x { border-style:solid }
Text
Text
Oben ist die CSS-Definition für td allgemein und die Klasse „x“ beschrieben. Darunter die Anwendung in HTML, einmal mit und einmal ohne Verwendung der Klasse.
Wenn ich nun die Tabelle direkt in HTML schreibe, sind alle Zellen mit der Klasse „x“ mit Rahmen versehen, die anderen ohne.
Wenn ich mittels document.write(’’) alle Zellen dynamisch erzeuge, sind die „x“-Zellen auch umrahmt.
Der dritte Fall aber geht schief: Ich erzeuge nämlich dynamisch erstmal Zellen ohne Klassendefinition und ändere diese später bei bestimmten Zellen zu „x“. Der IE macht das anstandslos mit, der Firefox hingegen ignoriert das „border-style:solid“ einfach. Er akzeptiert Schriftfarbe, Schriftstil und Hintergrund von „x“ (oben nicht aufgeführt), aber die Rahmen bleiben weg.
Der vierte Fall ist ganz wüst: Ich erzeuge erstmal alle Zellen mit „x“-Klasse, so dass alle Rahmen da sind. Dann lösche ich bei bestimmten Zellen die Definition wieder, bei anderen überschreibe ich sie mit „x“ (algorithmusbedingt - sie bleiben also unverändert). Das Ergebnis ist ein Mischmasch aus „mal da“ und „mal nicht“.
Gehe ich nun im dritten Fall auf die Druckvorschau, sind alle Rahmen wieder da! Und wenn ich die Druckvorschau verlasse, sind sie auch noch da, so wie sie eigentlich von Anfang an sein sollten. Ändere ich dann nach der Druckvorschau aber nochmal ein paar Zellen, tritt wieder Fall 4 auf.
Kennt jemand das Problem und weiß dafür eine Lösung? „Reload“ geht ja leider nicht, weil es dynamisch ist, und ein „Refresh“ und „Redraw“ oderso kenne ich nicht.
Danke,
Kristian
PS:
Windows XP SP2
IE 6
Firefox 2.0.0.11