Firefox-Darstellungsproblem bei großer Tabelle?
Michael
- html
Guten Tag allerseits!
Ich hab ein Problem mit einer etwas größeren html-Tabelle.
Die Tabelle enthält 126 Zellen * 19 Zeilen, wobei in jeder
zweiten Zeile die Felder außer dem ersten mittels colspan=5
zusammengefaßt werden.
Eine graphische Darstellung des Schemas:
http://mcsush.mc.funpic.de/schema.gif
Form und Farbe wird per CSS definiert;
die Tabelle wird per php generiert.
Und im Prinzip scheint dies auch alles in Ordnung zu sein.
Opera und der Internet Explorer zeigen die Tabelle perfekt an,
nur ausgerechnet Firefox macht Probleme:
Die niedrigen kleinen Zellen sollen 5px hoch sein und
enthalten nichts, außer einer (bzw. verschiedene) Hintergrundfarben.
Der Firefox scheint hier zu fluktuieren:
Die Zeilenhöhe ist an manchen Stellen 5,
manchmal aber auch 10 Pixel groß.
Bei jedem Aufruf sieht dies anders aus.
Der Quelltext ist valides HTML 4 Transitional.
(ist durch den W3C-Validierer gegangen)
Die CSS-Datei ist ebenfalls valide.
Und das Beste:
Wenn ich die Seite als html-Datei lokal abspeichere und von
dort aus aufrufe, so wird sie auch vom Firefox korrekt angezeigt!
Wo könnte also der Fehler liegen?
Die Seite selbst kann ich hier leider nicht verlinken,
da sie in einem passwortgeschützten Bereich liegt.
Zur Not könnte ich eine Kopie mit Beispiel-Daten erstellen,
doch hoffe ich, daß jemand auch so die Lösung parat hat. :)
Schönen Gruß,
Michael
Anhang:
hier ein Ausschnitt von der CSS-Datei
table.u {
border-collapse: collapse;
border: outset 15px gray;
table-layout: fixed;
}
/* Mini-Felder generell*/
table.u td{
height: 5px;
width: 6px;
padding: 0px;
empty-cells: show;
font-size:1px;
border-bottom-style: solid;
border-bottom-width: 0px;
border-bottom-color: #777777;
border-right-style: solid;
border-right-width: 1px;
}
/* linker Menürand Mini-Felder*/
table.u tr.p td.pr{
border-right-color: #DDDDDD;
background: #DDDDDD;
width: 30px;
}
/* Mini-Felder leer */
tr.p td{
border-right-color: #FFFFFF;
background: #FFFFFF;
}
/*Felder gefüllt*/
tr td.pm1{
border-right-color: #CB8247;
background: #CB8247;
}
Könnte sich um einen Slashdot-Bug ähnlichen Fehler handeln. Benutzt du die neueste Version (ab 1.5)? Vorher gab es da verschiedene Fehler mit zufälligen falschen Elementgrößen unter bestimmten Bedingungen (große Anzahl Leerzeichen wie z.B. große Einrückungen, langsame Seite, Quellcodefehler, etc.).
Benutzt du die neueste Version (ab 1.5)?
Ja. Version 1.5.0.4.
Nur: wenn es sich um einen Browser-Bug handelt, warum wird dann die
gleiche Tabelle, wenn sie lokal gespeichert wird, korrekt angezeigt? *knobel*
Der einzige Unterschied für ihn ist doch die Ladezeit, oder?
Ich hab die Ausgabe mittlerweile aber auch schon gepuffert,
ohne daß es was brachte.
Folgendes trifft jetzt nur zu, wenn es sich um den Bug handelt, den ich vermute.
Nur: wenn es sich um einen Browser-Bug handelt, warum wird dann die
gleiche Tabelle, wenn sie lokal gespeichert wird, korrekt angezeigt? *knobel*Der einzige Unterschied für ihn ist doch die Ladezeit, oder?
Genau. Der Firefox verarbeitet die einkommenden Datemn immer "häppchenweise", als Beispiel jetzt immer 200Byte. Nun "verschluckt" der Firefox sich allerdings bei irgendwelchen "Häppchen", vielleicht, wenn z.B. gerade ein HTML-Tag durch die Häppchenzerlegung zweigeteilt wird oder etwas ähnliches; genaueres ist mir leider nicht bekannt. Wie ich schon ansatzweise erwähnt habe, tritt der Bug vorzugsweise unter folgenden Bedingungen auf:
Ich hab die Ausgabe mittlerweile aber auch schon gepuffert,
ohne daß es was brachte.
Da ich nicht genau weiß, wie die Daten bei einer Pufferung ankommen, kann ich nichts dazu sagen. Evtl ist die Verbindung so langsam, dass die Daten doch deutlich nacheinander ankommen, oder der Firefox splittet die Daten generell auf.
Bei lokalen Dateien dagegen wird der Firefox wohl die ganze Dtaei auf einmal einlesen, sodass diese Probleme mit der Häppchenzerlegung nicht vorkommen sollten.
Folgendes trifft jetzt nur zu, wenn es sich um den Bug handelt, den ich vermute.
scheinbar hat es tatsächlich was damit zu tun:
Ich hab die lokale html-Datei eben wiederum
hochgeladen und diese nun im Browser aufgerufen.
Ergebnis: der Fehler war wieder da.
Bei einem Reload war allerdings alles ok.
Klar, denn als statische html-Datei ist diese ja
direkt in den Cache gelandet und so nun lokal abrufbar. :-/
Damit habe ich aber ein echtes Problem:
Etwa 60-70% des Klientels benutzt den Firefox.
Ich wäre sehr froh, wenn jemand eine Idee hätte,
wie ich dieses Problem umgehen könnte. *hoff*
Ich wäre sehr froh, wenn jemand eine Idee hätte,
wie ich dieses Problem umgehen könnte. *hoff*
Also, ich kann dir blöderweise nur relativ offensichtliche Ratschläge geben:
-Weise den Tabellezellen feste breiten zu (vielleicht hilft auch schon table-layout:fixed oder wie das heißt)
oder:
oder:
Vielen Dank für die Tipps, Jonathan!
abgesehen vom reflow hatte ich alle allerdings schon vorher ausprobiert.
Und per ZUFALL nun eine Lösung gefunden !
Aus Platzgründen hab ich eben den Tabellen-Außenrahmen entfernt.
(
definiert in der css-datei durch:
table {border: outset 15px gray;}
)
nachdem die Tabelle so nun ohne Außenrahmen steht,
läuft auf einmal alles astrein! :)
Ist zwar merkwürdig, aber man kann nun sagen:
Problem gelöst (bzw. umgangen)
------------------------------