Hallo,
Hab ich auch nie behauptet, daß border-collapse den Freiraum zwischen den Zellen bestimmt.
Aber beides ZUSAMMEN hilft.
Das ist so ausgedrückt irreführend. border-spacing ist im Falle von border-collapse:collapse überflüssig, border-collapse:seperate ist Default und border-spacing in diesem vorgesehenen Fall im MSIE sowieso wirkungslos.
Hab jetzt mal beides zusammen ausprobiert. Schon ein recht seltsames Verhalten was der IE da an den Tag legt. Border-spacing allein kennt er nicht aber zusammen mit border-collapse stellt er es richtig dar.
Warum brauchst Du eine Lösung ohne border-spacing?
Weil ich bis eben dachte, dass der IE mit border-spacing überhaupt nichts anzufangen weiss. Wusste nicht, dass er es anscheinend zusammen mit border-collapse doch nimmt.
Es gibt zwei Möglichkeiten:
1. border-collapse:seperate. Dies ist die Standardeinstellung, man kann sie aber auch explizit angeben, das ist gleich. Bei einer Tabelle mit table, th, td {border:1px solid red;} beispielsweise werden die Einzelrahmen der Tabelle und deren Zellen nebeneinander angezeigt. In diesem Fall regelt (theoretisch) die Eigenschaft border-spacing den Abstand zwischen den Rahmen. Dies ist im MSIE (6) *immer* zwei Pixel, egal, welchen Wert man für border-spacing angibt. MSIE ignoriert das border-spacing also und benutzt immer den Standardwert.
2. border-collapse:collapse. Damit fallen die Rahmen der Tabelle und deren Zellen jeweils übereinander. Der Definition nach existieren somit keine Rahmenzwischenräume. border-spacing hat also keine Wirkung, es ist immer (in Gedanken) Null, egal, welcher Wert gesetzt wird, wenn border-collapse den Wert collapse hat, ist border-spacing wirkungslos.
Es stimmt also, dass MSIE mit border-spacing nichts anzufangen weiß. Ferner ist es falsch, dass im Falle von border-collapse:collapse immer auch border-spacing nötig ist. Beide Angaben, davon zumindest border-collapse implizit, sind bzw. wären notwendig, wenn du das nicht übereinanderfallende Rahmen ohne Zwischenräume möchtest.
Wenn du also separierte Rahmen bevorzugst und die Zwischenräume deaktivieren willst, wäre border-spacing:0 richtig, das führt im MSIE aber nicht zum gewünschten Resulta. Du müsstest also auf border-collapse:collapse ausweichen, was allerdings wie gesagt nicht nur die Zwischenräume, sondern das komplette Rahmenkonzept ändert.
Mathias