lucy24 - 9:51 am on Mar 29, 2013 (gmt 0)
Uh-oh. Is your list horizontal or vertical? I'd assumed the table looks like
a e i
b f j
c g k
d h l
Is it currently set up as
a b c
d e f
g h i
j k l
Then it will come out looking different but this should not be a problem. Human users expect to find things alphabetized in consecutive columns, like in the phone book. Personally I get confused when it's arranged the other way.
The good part is that if it's already coded to run horizontally, it should be a snap to change from a table to a multiple-div layout. You're processing the same information in the same order. Only now instead of going by sets of three, you start out by dividing the total list length by three. Ceiling, not floor: you want the longer columns to be first. If it's stored in any kind of array you already know how many there are. And then put in a </div> break every time you hit this number.
Except that, urk, I just checked and inline-block doesn't happen in MSIE <8. caniuse dot com says that leaves about 4.3% unsupported. I hope they're expendable ;)
Only supported in IE6 and IE7 on elements with a display of "inline" by default. Alternative properties are available to provide complete cross-browser support.
There's a link, but it talks about Firefox 2, Safari 3 and Opera (not numbered yet). Sigh.