Ein li ist - ohne explizite Breitenangabe - so breit wie möglich, sprich 100%.
Wenn ein Browser also das float trotz fehlender Breitenangabe zu interpretieren versuchte, müßte er feststellen, daß kein zweites li neben das erste paßt, da dieses erste li ja bereits die gesamte Breite benötigt.Dein Code ist falsch, damit ist das, was ein Browser damit macht, nicht vorhersehbar.
Hmm, dem w3c CSS-Validator hat mein CSS aber gefallen. Der hat nichts daran angemeckert. Egal ein unvorhersehbares Verhalten des Browsers wuerde wenigstens erklaeren warum es mal geht und mal nicht.
Also die Loesung ist "relativ" einfach: Mozilla "verschluckt" das colspan="3" wenn eine id angegeben wird. Wenn ich die id auf das ul anwende werden die Listenelemente nebeneinander dargestellt. Mal schauen was die Mozilla-Leute dazu sagen. Im Konqueror gehts, und Opera machts auch richtig.
Bleibt nur noch 2 Sachen:1. Ich muss das list-style:none; in die allgemeine Definition von "#tablist" nehmen. Wenns im Bereich "#tablist ul" steht wirds nicht angewendet.
2. Wenn ich die width-Angabe in das "#tablist" Element hineinnehme und auf 100% ansetze, dann wird das Element 100% Breit in bezug auf die Seite, nicht auf die Tabellenzelle! Ist das normal? Wenn ich dagegen die Angabe weglasse ists zwar ok in Mozilla und Konqueror aber Opera stellt dann die Elemente untereinander dar :-(
Andreas