Vinzenz Mai: Besser: width (td und(!) table) + table-layout:fixed;

Beitrag lesen

Hallo Thomas,

ich muss mich leider korrigieren :-(

Abhilfe (zumindest in Firefox 3.0.1) schafft übrigens die Verwendung von

min-width: 1000px;

So werde ich es jetzt auch machen, in Kombination mit
table-layout: fixed;

Die derzeitig aktuellen Browser suchen sich dann das für sie Richtige raus.
Vielen Dank für das Testen,

ich hatte nicht genug getestet. Inzwischen habe ich mit folgenden Browsern

- Firefox 3.0.1
 - IE 7.0
 - Opera 9.52
 - Safari 3.1.2

die Kombinationen von

- table-layout: fixed und auto
 - width (table): auto und vorgegebener Wert
 - width (Spalte): über col oder Zellen der ersten Zeile
 - min-width (Spalte): über col oder Zellen der ersten Zeile

durchgetestet (Ergebnisübersicht folgt hoffentlich, Fleißarbeit).

Der Vorschlag mit

table {  
    table-layout: fixed;  
    width: auto; /* ist Default-Wert */  
}  
  
td, th {  
    min-width: 1000px;  
}  

bereitet im IE 7 Probleme, wenn der Viewport breiter ist als die Summe der Mindestspaltenbreiten. Der IE 7 verbreitert in diesen Fällen die Spalten, so dass die Tabelle die gesamte Viewportbreite einnimmt.

Ordentliche Ergebnisse erhielt ich mit

table {  
    table-layout: fixed;  
    width: 1200px; /* Wert ist egal, Hauptsache gesetzt und kleiner als die  
                      Summe der Spaltenbreiten */  
}  
  
td, th, col {  
    width: 1000px; /* Welches Element, ggf. mit einer Klasse Du auch immer  
                      verwendest */  
}  

d.h. mit einer festgelegten Tabellenbreite, festgelegter Spaltenbreite, wobei es gleichgültig war, ob diese über col-Elemente oder die Breiten der Zellen der ersten Spalte bestimmt wurde.

In allen anderen Fällen gab es immer mindestens einen Ausreißer, der nicht das gewünschte Ergebnis lieferte. Opera und Safari verhielten sich in allen Tests vergleichbar (ein paar Pixel Abweichung, z.T. durch die unterschiedliche Schriftglättung). Wer sich wann an die Spezifikation hält, das kann ich nicht beurteilen, will aber meine Ergebnisse zur Diskussion stellen.

Freundliche Grüße

Vinzenz