Wie passt man die Breite einer Spalte an ihren Inhalt in der HTML-Tabelle an?

8

Ich habe die folgende Tabelle in meinem HTML:

%Vor%

Ich möchte, dass die erste Spaltenbreite in der zweiten und dritten Zeile genau der Inhaltslänge entspricht (deshalb setze ich width="1px" dort). In der Zwischenzeit while möchte ich die Breite der Tabelle so anpassen, dass sie nur der Länge des längsten Inhalts in der Tabelle entspricht (was die erste Zeile ist), anstatt sich auf die maximale Breite des Begrenzungsdivs zu erstrecken.

Es funktioniert in Firefox wie unten gezeigt.

In IE 9 funktioniert es jedoch nicht wie erwartet.

Ich habe versucht, width="1px" durch width="1%" zu ersetzen. Aber dann erstreckt sich die Tabellenbreite auf die maximale Breite des Eltern-Div.

Weiß jemand, wie man es im IE repariert?

    
Bob 29.11.2011, 02:32
quelle

2 Antworten

13

Ich habe gerade in meinem IE9 getestet, und das Einstellen der Breite auf 1px funktioniert. Aber es wird angezeigt, wie Sie oben im Kompatibilitätsmodus dargestellt haben. Haben Sie Ihren Doctype und alle anderen lustigen Sachen erklärt?

Dies liegt möglicherweise daran, dass Sie ältere Methoden zum Anzeigen der Tabelle verwenden. Sie könnten versuchen, die Tabelle mit Rahmen usw. in CSS zu formatieren - beispielsweise:

%Vor%

und so weiter - ich bin sicher, Sie haben die Idee. Dies könnte dazu führen, dass es automatisch in der Kompatibilitätsansicht angezeigt wird (falls es sich um ein Problem handelt).

Und schließlich, weil IE9 so dumm ist, müssen Sie die Kompatibilitätsansicht ausschalten (wenn sie auf der Seite aktiviert ist), weil alle Seiten innerhalb der Domäne in der Kompatibilitätsansicht angezeigt werden.

    
dan 29.11.2011, 02:45
quelle
2

Sie haben erwähnt, dass Sie versucht haben, es auf 1% zu setzen, haben Sie den anderen auf 99% gesetzt?

%Vor%     
Oh Chin Boon 29.11.2011 02:34
quelle