Original Post
I have a test layout as follows: As you can see, the net effect is that the table fills the screen width, placing 5 green rectangles of 100px each with equal spacing, such that one green rectangle is in the extreme top-left and another is in the extreme top-right. The question: how can I get this sort of effect without a table? I've tried every combination of div and span arrangements I can think of, with all sorts of display: properties. Everything either fails to fill the screen width (typically by making the "spacers" collapse - sometimes putting inexplicable padding between "cells" - and sometimes collapsing the 100px elements too!), or fails to put everything in one row (i.e. the "spacers" are assigned 100% of screen width and therefore have to go on a line by themselves, so every element ends up on its own row). But my content data isn't logically tabular, so I don't want to use the table. (In the real page, the content will probably go into a parent div with a set pixel size anyway, so I could hard-code everything, but I really don't want to - especially as that involves recalculating everything, or perhaps doing painful things with javascript, if I decide to change the size.)
<body>
<table style='position: fixed; left: 0px; top: 0px; width: 100%; height: 20px; border-collapse: collapse; table-layout: fixed'>
<td style='display:table-cell; width: 100px; background-color: green'></td>
<td style='display:table-cell; width: auto; background-color: black'></td>
<td style='display:table-cell; width: 100px; background-color: green'></td>
<td style='display:table-cell; width: auto; background-color: black'></td>
<td style='display:table-cell; width: 100px; background-color: green'></td>
<td style='display:table-cell; width: auto; background-color: black'></td>
<td style='display:table-cell; width: 100px; background-color: green'></td>
<td style='display:table-cell; width: auto; background-color: black'></td>
<td style='display:table-cell; width: 100px; background-color: green'></td>
</table>
</body>