【发布时间】:2013-05-13 21:15:07
【问题描述】:
我正在开发一个 asp.net mvc 3 应用程序。我正在使用表显示来自数据库的数据。基本上该表有 4 列,但在某些情况下,整行可能有 2 个甚至 1 个单列。通过使用if 语句,我可以捕获这些情况并正确管理它们(更具体地使用 colspan),因此我可以保持我的表结构干净。但是有一个默认行为,我真的很想用一些 CSS 来改变(如果可能的话)。
当我在一行上有两列时,我希望每列从行的整个宽度中正好占 50%。为了让自己更清楚,这是我现在看到的:
在最底部,实际上这也是表格的末尾,但仍然是同一表格中的一行,两个字符串Sign in here。如您所见,左边的空间比右边的要少得多。一开始我使用不同的表来管理这类东西,但我真的想把所有东西都放在一个表中,并在必要时调整当前行上单元格的宽度。我可以确定这一行,我可以附加一些类,我只是不知道用什么 CSS 让每个单元格占据相同的空间(当然有可能这样做)
附言
抱歉,这是我在视图中用来呈现该行的代码(Razor):
<tr>
@if (!string.IsNullOrEmpty(Model[0][0].FieldValue))
{
<td colspan="2">
@Html.DisplayFor(x => x[0][0].FieldValue)
</td>
}
else
{
<td colspan="2">
Sign in here
</td>
}
@if (!string.IsNullOrEmpty(Model[1][0].FieldValue))
{
<td colspan="2">
@Html.DisplayFor(x => x[1][0].FieldValue)
</td>
}
else
{
<td colspan="2">
Sign in here
</td>
}
</tr>
【问题讨论】:
-
用
colspan="4"制作最后一个tr > td 然后在里面创建一个表,里面有两个tds, eachwidth:50%`,这样它们就不会受到其他行/列的影响跨度> -
嗯,这和我之前写的有什么区别(创建新表来处理这种情况?)