我正在使用 twitter 引导程序,但我认为这对我正在做的事情没有影响。
基本上我有一张桌子。我正在测试填充表格的可枚举的长度以及我想“填充”到容器全长的最后一行,即如果它少于 10 行,我想添加一个行跨度为的行10 - item.count ......但是,它只是呈现一个空白行......这是故意的还是我做错了什么?这是一个小提琴:
这是一张桌子......任何帮助将不胜感激......
<table class="table table-bordered">
<thead>
<tr>
<th>#</th>
<th>First Name</th>
<th>Last Name</th>
<th>Username</th>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2">1</td>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<tr>
<td>Mark</td>
<td>Otto</td>
<td>@TwBootstrap</td>
</tr>
<tr>
<td>2</td>
<td>Jacob</td>
<td>Thornton</td>
<td>@fat</td>
</tr>
<tr>
<td>3</td>
<td colspan="2">Larry the Bird</td>
<td>@twitter</td>
</tr>
<tr>
<td colspan="4" rowspan="10">
this should be a row that is 10 rows long...
</td>
</tr>
</tbody>
</table>
编辑:
正如建议的那样,javascript似乎是答案......这就是我想出的,它测试了行高,因为我的表格在一个选项卡中,所以高度属性返回为0,因为它们当前不是在活动标签中..
$('.stretch').each(function () {
var rows = $(this).rowCount();
if (rows < 10) {
var lr = $(this).children('tbody').children('tr:last');
var bg = lr.children('td').first().css('background-color');
var ht = lr.css('line-height').replace('px', '') * (10 - rows);
var row = '<td colspan="' + lr.children('td').length + '"></td>';
$(this).children('tbody').append('<tr style="height: ' + ht + 'px; background-color: ' + bg + '">' + row + '</tr>');
}
});
还要澄清我在做什么...当表格呈现 1 行时,我真的很讨厌它,它看起来很丑:) 我倾向于将表格的操作项放在页脚中,所以这试图用一个巨人填充容器行并将 tfoot 锚定到父级的底部或非常靠近它....