Gernot Back: width und height bei td

Beitrag lesen

Hallo Achim,

kann mir jemand verraten wieso eine Breiten/Höhen-Angabe in einem td-tag nicht immer funktioniert

Breitenangaben funktionieren in Verbindung mit table-layout:fixed eigentlich immer, vorausgesetzt, die Summe der Breite der Zellen in jeder einzelnen Zeile weicht nicht von der Breitenangabe für die Tabelle insgesamt ab.

Mit in der Breite über CSS vordefinierten Spalten, von denen du einer aber als Puffer über HTML-Attribut width="*" nur den Rest der Tabellengesamtbreite gibst, läuft das in der Regel gut. (Ich frage mich allerdings gerade, ob das überhaupt eine valide Angabe ist, oder ob man stattdessen nicht besser width="1*" schreiben soll, da ich dazu unter http://www.w3.org/TR/html401/struct/tables.html#h-11.2.4 bei col anders als bei colgroup keine Spezifikation finde).

arbeite ich dagegen mit Hilfe eines zusätzlichen img-tag und dort einem transparentem gif (wenn ich die Hintergrundfarbe z-B. dirch einen CSS-Style  festlegen möchte  funktioniert die Hähen/Breiten-Angabe immer.

Wenn du möchtest, dass deine Tabelle eine bestimmte Gesamthöhe hat, kannst du über CSS den Tabellenzellen auch Höhenangaben verpassen; über HTML-Attribut geht das nicht, jedenfalls nicht in standardkonformen Browsern. Auch da musst du darauf achten, dass keine Widersprüche zwischen der der Tabelle insgesamt zugewiesenen Höhe und der Summe der Höhe aller Zellen jeder Spalte auftreten, was insbesondere bei Einsatz von Rowspan-Attributen nicht so einfach ist.

Pufferzellen für die Höhe bekommst du, wenn du ihnen eine Höhe von 100% zuweist. Diese Zellen nehmen sich dann den Rest den ihnen die nicht in Prozentwerten in der Höhe definierten Zellen übrig lassen. Im IE funktioniert das aber nur im Quirks-Modus.

Vergleiche hierzu folgenden aktuellen Thread:

https://forum.selfhtml.org/?t=140239&m=911183

Gruß Gernot