Ich möchte eine Tabelle erstellen, die wie folgt aussieht:
%Vor%aber was ich bekomme ist das:
%Vor%Das 'x' ist eigentlich ein Bild und hat eine feste Breite. Ich möchte die erste Zelle zwingen, nur so breit wie das Bild zu sein.
Hier ist ein Beispiel:
%Vor%Es scheint, dass die Zeile, die das TD mit colspan = 3 enthält, bewirkt, dass das TD in den anderen Zeilen das width -Attribut ignoriert (ich habe auch versucht, style width: 20px)
Das Rendern ist in FF8 korrekt. Irgendwelche Ideen wie bekomme ich IE, um die Tabelle so zu rendern, wie ich will?
Ich hatte vergessen, dass der Tisch den Stil 'Tisch-Layout: fest' hat und dies die Schwierigkeit verursachte. Wenn dieser Stil festgelegt wird, werden die Breiten der Zellen in der ersten Zeile auf alle folgenden Zeilen angewendet. Da die erste Zeile einen Colspan enthielt, wurde der IE verwirrt (FF behandelt das Problem).
Irgendwie ist es nicht so flexibel, wie ich es wollte, aber das hat für mich funktioniert.
%Vor% Wie in dieser Antwort zu finden ist, können Sie Attribute für die gesamte Tabelle über colgroup
und col
festlegen. Auf diese Weise können Sie einzelne Attribute auch für die (unsichtbaren einzelnen) Zellen innerhalb des Colspans in der ersten Zeile setzen.
In Ihrem Beispiel wäre es:
%Vor%Hier ist eine Geige
Der IE behandelt die Breite von Tabellenzellen immer als minimale Breite, mindestens bis Version 8 (ich weiß nicht etwa 9).
Der einzige Weg, den ich gefunden habe, ist, entweder explizite Breiten in allen Tabellenzellen anzugeben oder Javascript zu verwenden, um die Breite nach dem Laden (aber vor dem Anzeigen) einzustellen.
Ich würde vorschlagen, diesen Zellen eine Klasse zu geben und dann mit
zu stylen %Vor%Tags und Links html html-table