Yerf!
Ich möchte eine Tabelle (<table>) mit css derart darstellen, dass diese die gesamte Breite und eine exakte/vorgegebene Höhe einnimmt.
Dann gib der Tabelle per CSS die entsprechende height- und width-Angabe, das sollte in den meisten Fällen fukntionieren. Allerdings klingt das ganze für mich etwas nach Layout-Tabelle (bei der Darstellung von tabellarischen daten ist man meist nicht auf ein derart exaktes Layout angewiesen), das solltest du besser lassen.
Ich meine verstanden zu haben, dass <table> per Default die Display-Eigenschaft "table" bekommt. Warum die Tabelle bei dieser Eigenschaft nicht die gesamte Breite bekommt, ist mir leider noch unklar!?
Eine Tabelle richtet sich bei der Darstellung nach ihrem Inhalt. Zur Darstellung von Daten ist das ein durchaus praktischer Default. Allerdings unterstützen nicht alle Browser die display:table-Eigenschaft und haben deswegen ein etwas "eigenwilliges" Verhalten bei Tabellen. Dazu gehört auch der IE bis Version 7.
Da ich die gleiche Darstellung erreichen möchte, wie (per default) beim div-element, habe ich für die Tabelle display auf "block" gestelt.
Dies kann nur etwas bewirken, wenn die display-Eigenschaft vorher auf etwas anderem Stand. Beim IE ist diese aber bereits "block".
Im FF ist das Verhalten wie von mir gedacht, der IE zeigt leider die Tabelle nicht in der vorgegebenen Höhe und Breite an keine, es erscheinent auch keine Scrollbar.
Wie gesagt: der IE behandelt Tabellen komplett anders als der FF.
Handelt es sich um einen IE-Bug oder was mache ich falsch? Gibt es andere/bessere Lösungen oder Workarounds?
Kein Bug sondern ein fehlendes Feature (zumindest ist es nach den Specs erlaubt eine derartige Sonderlogik für Tabellen zu verwenden)
Gewöhne dich daran, das Browser meist denken sie wüssten es besser, wie tabellarische Daten darzustellen wären...
(oft kann man zwar mit table-layout:fixed noch etwas drehen, ist aber eigentlich nicht Sinn der Sache)
Gruß,
Harlequin
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->