I've got a list of about 30 <li>
in a <ul>
. Is there any way, using CSS, to divide these into three columns of ten?
views:
386answers:
3
+1
A:
I usually set the widths at 28% and float the to the left:
ul li {
width: 28%;
margin: .5em 2%;
float:left;
}
The downside to this is that items fill like:
- - -
- - -
-
Not like:
- - -
- -
- -
If you want vertical filled columns, you need 3 <ul>s.
willoller
2009-01-28 03:17:52
+2
A:
In CSS3 this is possible.
#columns {
-moz-column-count: 3;
-moz-column-gap: 20px;
-webkit-column-count: 3;
-webkit-column-gap: 20px;
column-count: 3;
column-gap: 20px;
}
HTML:
<div id="columns">
<ul>
... lots of lis ...
</ul>
</div>
The list items will spill over into the next column as they exceed the height of the container.
Perhaps for older browser you could use JavaScript, as this seems to be more aesthetic than a critical feature.
Zach
2009-01-28 03:28:17
What browsers support CSS3? I'm afraid you may be too-cool-for-school. :(
Chris
2009-01-28 03:50:51
"Currently supported by Firefox 1.5+ and Safari 3" and I would suppose Chrome and other Webkit derivatives. No IE :(
Zach
2009-01-28 04:10:23
+1
A:
there is a good article about multi column lists in Alistapart. Might be helpful.
andyk
2009-01-28 07:53:47