Hallo,
Oh, Trick 17. Auf eine "blinde Spalte" bin ich noch nicht gekommen - danke, damit werde ich mal experimentieren.
Die "blinde Spalte" brauchte ich nur zum Erzwingen der Zeilenhöhe. Der eigentliche Trick ist das Herauslösen der Table-Cell aus dem normalen Elementfluss mit position:absolute.
Wobei ich nun merke, dass offensichtlich das position:relative; im UL-Element nicht nötig ist, wenn man bei top:auto; und left:auto; beim absolut positionierten Element bleibt. Ist das so korrekt? Zur Zeit kann ich hier nur mit Opera 7.23 testen. Dort sieht das Folgende gut aus:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Tabelle mit UL</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<style type="text/css">
<!--
ul, li, span {border:1px solid black;}
ul {display:table; list-style-type:none;}
li {display:table-row; height:1.5em;}
span {display:table-cell;}
span.colspan {position:absolute; white-space:nowrap;}
-->
</style>
</head>
<body>
<h1>Überschrift</h1>
<ul>
<li><span>Spalte1</span><span>Spalte2</span><span>Spalte3</span></li>
<li><span class="colspan">Spalte 1 und 2 und 3</span></li>
<li><span>Spalte1 länger</span><span>Sp2</span><span>Spalte3 länger</span></li>
<li><span class="colspan">Spalte 1 und 2 und 3</span></li>
<li><span>Sp1</span><span>Spalte2</span><span>Sp3</span></li>
</ul>
</body>
</html>
viele Grüße
Axel