Axel Richter: Tabellen einpassen

Beitrag lesen

Hallo,

Mit width:100% passt sie sich zwar wunderbar dem Fenster an, allerdings nur dann, wenn die benötigte Breite für die Spalten dies nicht überschreitet.
Mit table-layout:fixed werden aber leider alle Spalten gelich breit.

Anmerkung: In den Beispielen erreiche ich die Verringerung der 100% durch Verkleinern des Browserfensters.

Vorschlag 1: Kennst Du nicht wenigstens ungefähr die prozentuale Verteilung der Spaltenbreiten? Dann würde so etwas gehen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
<!--
table {border:1px solid black; width:100%; table-layout:fixed;}
td {border:1px solid black;}
td p {margin:0; padding:0; white-space:nowrap; overflow:hidden;}
-->
</style>
</head>
<body>
<table>
<colgroup>
 <col width="10%">
 <col width="30%">
 <col width="50%">
 <col width="10%">
</colgroup>
<tr>
 <td><p>Inhalt</p></td>
 <td><p>langer Inhalt</p></td>
 <td><p>noch längerer Inhalt</p></td>
 <td><p>kurz</p></td>
</tr>
<tr>
 <td><p>Inhalt</p></td>
 <td><p>langer Inhalt</p></td>
 <td><p>noch viel viel viel längerer Inhalt</p></td>
 <td><p>kurz</p></td>
</tr>
</table>
</body>
</html>

Wie bekomme ich das nun am geschicktesten hin, dass die Spalten sich entsprechned ihrer benötigten Breite den Platz (100%) aufteilen. Dabei dürfen sie Spalten auch abgeschnitten werden.

Vorschlag 2: Naja, im Firefox ginge so etwas:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Titel</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
<!--
table {border:1px solid black; width:100%;}
td {border:1px solid black;}
td p {margin:0; padding:0; white-space:nowrap; overflow:hidden;}
-->
</style>
</head>
<body>
<table>
<tr>
 <td><p>Inhalt</p></td>
 <td><p>langer Inhalt</p></td>
 <td><p>noch längerer Inhalt</p></td>
 <td><p>kurz</p></td>
</tr>
<tr>
 <td><p>Inhalt</p></td>
 <td><p>langer Inhalt</p></td>
 <td><p>noch viel viel viel längerer Inhalt</p></td>
 <td><p>kurz</p></td>
</tr>
</table>
</body>
</html>

Im IE natürlich Fehlanzeige.

viele Grüße

Axel