c# - 如何在 ASP.NET MVC 中创建两列蛇形布局?

标签 c# asp.net-mvc css layout rendering

我有大约一百个短文本数据项(这个数字可能会有很大差异),我想将它们放在一个页面中,并让浏览器将其管理为周围 div 中的三列,按元素向下和向下排列然后穿过,像这样:

A    F    L
B    G    M
C    H    N
D    I    O
E    K    ...

有没有办法将其呈现为 li(或者可能只是单独的行),并让浏览器自动将其整理成三个等高的列,可能使用 CSS?

是否存在任何浏览器兼容性问题?

最佳答案

没有浏览器兼容性问题:

<% var rows = source.Count() % 3 == 0 ? source.Count / 3 : (source.Count / 3) + 1; %>
<table>
    <% for(int i=0; i<rows; i++) { %>
    <tr>
        <td><%= source.Skip(i).FirstOrDefault() %></td>
        <td><%= source.Skip(i+rows).FirstOrDefault() %></td>
        <td><%= source.Skip(i+rows*2).FirstOrDefault() %></td>
    </tr>
    <% } %>
</table>

我们使用取模运算符让我们知道除法是否是偶数...如果不是,我们不会为剩余的列添加额外的行。有关详细信息,请参阅 http://msdn.microsoft.com/en-us/library/0w4e0fzs.aspx

例如看https://stackoverflow.com/users HTML 源 - 它使用 <table>

关于c# - 如何在 ASP.NET MVC 中创建两列蛇形布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1157029/

相关文章:

c# - 如何在我的 ASP.Net MVC 5 应用程序的同一页面中编辑和删除 POST 请求

c# - 在代码隐藏中使用(静态)HTML 控件,使用 C#/ASP.NET 进行编码

C# 事件删除语法

c# - 使用 MySQL 参数创建新用户

asp.net - 类似于 .NET 中的 "Sparse Fieldsets"

javascript - jQuery 下拉菜单无法正常工作

asp.net-mvc - ASP.NET MVC 中的 HttpPostedFileBase 始终返回 null

c# - 如何在 ASP.NET MVC 5 中实现简单的身份验证

css - 子菜单项比父 div 元素扩展得更远

html - CSS 如何向上翻译图像,并让 div 调整到新的大小?