Seriously consider whether this is tabular data - and if so, use <table>
, <tr>
, <td>
, etc. Tables aren't evil, they just shouldn't be used for things that aren't tables. And the word "table" has a pretty broad definition... even using them for structuring forms isn't incorrect (although probably a bit of a semantic grey area).
However, if you decide that semantically this really is an unordered list, you can use the CSS table model to display elements "tabularly", by applying display: table
, display: table-row
and display: table-cell
styles to the elements which could otherwise be <table>
, <tr>
and <td>
elements respectively. See that link for the full set of values. These aren't supported in older browsers, mind (IE7 and earlier).
If you have to support IE7 (or even, god forbid, IE6), you'll have to resort to column layout patterns, which have thousands of articles dedicated to them around the internet.