Vinzenz Mai: colgroup in Verbindung mit colspan in IE7

Beitrag lesen

Hallo,

ich habe eine Tabelle, in der keine einzige Zeile alle Spalten beinhaltet. Das heißt, in jeder Zeile gibt es mindestens ein colspan. Nun möchte ich dennoch vorab jeder Spalte eine Breite geben. Dafür sollte sich eigentlich colgroup eignen.

ja, die Browserunterstützung für Tabellenrendering ist eher mau. Das gilt für alle Browser. <colgroup> ist übrigens überflüssig.

Dieser Ausschnitt funktioniert in FF3, die die Breite von A+B ist doppelt so groß wie die von C.

Blöder Firefox!

<table border="1">
<colgroup>
<col width="200px"/>
<col width="200px"/>
<col width="200px"/>
</colgroup>
<tr>
<td colspan="2">A+B</td>
<td>C</td>
</tr>
</table>

  

> IE7 ignoriert die Breitenangaben, ehe nicht eine Zeile ohne colspans vorkommt.  
  
Alle Browser sollten eine Breitenangabe, die völlig falschen Inhalt hat, ignorieren. px hat in einem HTML-Attribut nichts verloren.  
  
Nach meinen Untersuchungen gibt es ziemlich genau eine Möglichkeit, die Browser zur gewünschten Darstellung zu bringen:  
  
1\.) Verzichte auf veraltete HTML-Attribute.  
  
2\.) Sorge dafür, dass die Browser die Seite im Standards-compliant-Modus  
    rendern.  
  
3\.) Verwende table-layout: fixed;  
    Gib der Tabelle eine Breite, die maximal so groß ist wie die Summe der  
    Spaltenbreiten.  
    Gib den col-Elementen die von Dir gewünschte Breite.  
  
Beispiel: <http://vinzenzmai.vi.funpic.de/tmp/pic/tafel-ie-fixed.png>  
  
  
Freundliche Grüße  
  
Vinzenz