Sven Rautenberg: Tabellenbreite erzwingen

Beitrag lesen

Hi,
ich habe folgendes Problem:

Ich möchte eine Tabelle in der Form haben:

Aus meiner Erfahrung mit Tabellen kann ich folgendes sagen:

1. Höhenangaben vergiß gleich mal wieder, das funktioniert nicht[1].
2. Die Breite gemischt in Prozent und Pixeln anzugeben ist ebenfalls nicht ratsam. Wenn du pixelgenaue Breiten haben willst, mußt du
  a) alle Angaben pixelgenau machen (und dich dabei nicht verrechnen)
  b) JEDE Spalte pixelgenau definieren. Das leitet direkt über zu
3. Breitenangaben werden nur in der ersten TR-Zeile interpretiert.

Du hast das Problem, daß deine erste Tabellenzeile mit colspan zwei Spalten überspannt. Deshalb kannst du den Spalten nicht einzeln eine Breite zuweisen.

Einzige Lösungsmöglichkeit: Du baust vor dieser Zeile eine weitere ein, in der du alle drei Zellen in der Breite einzeln definierst:

<table width="760">
  <tr>
    <td width="160"><img src="1x1.gif"></td>
    <td width="300"><img src="1x1.gif"></td>
    <td width="300"><img src="1x1.gif"></td>
  </tr>
....
</table>
(Das 1x1.gif ist eine transparente 1x1-Pixel große Grafik.)

Andernfalls werden sich die Spalten, die oben mit colspan nicht weiter definiert sind, gleichmäßig breit anordnen.

Alternativ kannst du versuchen, Tabellen ineinander zu verschachteln. Außen ist die relative Tabelle (mit Prozent), und in einigen Zellen die Tabelle, die pixelgenau breit sein soll. Der Browser schafft automatisch genug Platz für solch eine Tabelle (mindestens dann, wenn du eine Grafik entsprechender Breite einbaust).

- Sven Rautenberg