I have to produce a 3-column list of items similar to what can be seen for the different groups (mostly banks and financial institutions) at this page:
http://funds.ft.com/FundDirectory.aspx (even though these are horizontally aligned divs)
I have all the items I need to add to the 3 columns in a List<Group>
stored in my Model.Groups
object.
I was thinking of taking an approach similar to:
<ul>
<% foreach (var item in Model.Groups) { %>
<li>
<a href='<%=item.URL %>'>
<%= Html.Encode(item.Name) %>
</a>
</li>
<% } %>
</ul>
but this will only generate a single-column list. Is there any way for me to produce a 3-column list with simple HTML/CSS or do I have to take a more dynamic approach, by e.g. creating 3 horizontally aligned lists, with the number of items per list depending on the total number of items in Model.Groups
/ 3?
Or is there a smarter way for me to approach this? I'm open to all suggestions. Thanks
CSS3 column
styles can be used on a list as well:
<ul class="group-list">
...
</ul>
.group-list {
-moz-column-gap: 20;
-moz-column-count: 3;
-webkit-column-count: 3;
-webkit-column-gap: 20;
column-count: 3;
column-gap: 20;
}
You can add Modernizr and this jQuery column plugin to support old versions of IE:
if (!Modernizr.csscolumns) {
$('.group-list').makeacolumnlists({cols: 3, colWidth: 240, equalHeight: false, startN: 1});
}
PPK has a good article on CSS3 column support in browsers, and caniuse.com has a page on CSS3 Multiple column layout too.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With