2009-08-20 13 views
0
<td> 
<div id="test">...</div> 
</td> 
<td> 
..... 
</td> 

erweiterte ich von Firebug sehen können, dass td 40px ist etwa breiter als der „Test“ div (Breite + Rand + Marge alle enthalten), aber es gibt keine CSS-Stil, tun dies (keine Einstellung der Breite, Polsterung)!div innerhalb td, aber td unerwartet

Warum ist der "td" hier nicht so breit wie div?

Ich bin jetzt hardcoding die td to9 so breit wie "test" Div, aber fühle mich unwohl.

Antwort

3

Ohne den Rest Ihres Codes, gehe ich hier auf ein Bein, aber die <td> wird automatisch Größe basierend auf der Tabellenbreite/Anzahl der Spalten in der Tabelle. Wenn Ihrer Tabelle keine explizite Breite zugewiesen ist, wird sie auf 100% Breite ihres Containers oder Elternelements erweitert. Sie können dies vermeiden, indem Sie die explizite Breite für die Tabelle oder die Tabellenzellen nach Bedarf festlegen.

Im folgenden Szenario wird jede Spalte automatisch auf die Tabellenbreite/Anzahl der Spalten oder in diesem Fall auf 400/4 = 100 skaliert. Somit ist jede Spalte 100 Pixel breit.

<table style="width:400px"> 
<td></td> 
<td></td> 
<td></td> 
<td></td> 
</table> 

Je nach Browser gibt es in diesem Szenario zwei mögliche Ergebnisse. 1. Die Tabelle wird auf 100% der Breite des übergeordneten Elements oder 600px hier erweitert. Das bedeutet, dass jede Spalte automatisch auf 150 Pixel breit wird. 2. Die Tabelle und die Spalten können auf die Breite des untersten Elements in seiner Spaltengruppe erweitert werden.

<body style="width: 600px"> <!-- Could be a div or other element here --> 
<table> 
<td></td> 
<td></td> 
<td></td> 
<td></td> 
</table> 
</body> 

Das WC3 Spec kann here und bietet einige sehr ausführlich darüber, wie Browser sind soll gefunden werden, um die HTML 4.01-Spezifikation in Bezug auf die Tabellen implementieren.

+0

ohne Angabe der Breite, wie wird die Autorisierung durchgeführt? Ich habe irgendwie eine Autoresize ausgelöst, die von mir nicht erwartet wird! Ich meine, die td (s) haben je nach Inhalt eine andere Breite. Wie soll das gemacht werden? – omg

+0

Der Browser verwaltet die automatische Größenanpassung von Tabellenspalten gemäß den WC3-Empfehlungen. Die Spezifikation finden Sie unter http://www.w3.org/TR/html401/struct/tables.html#h-11.2.4.4 – PortageMonkey