【发布时间】:2015-10-20 04:38:15
【问题描述】:
我试图让表格列在每一行上具有不同的宽度。我正在使用一个数组来获取我要转换为宽度百分比并将其传递到列中的值。输出似乎复制了上面的行,即使它具有不同的宽度。
http://jsfiddle.net/0182rutf/2/
HTML
<table border='1' id="table">
JS
var Array = [
[10, 5, 10],
[50, 2, 10]
];
for (var k = 0; k < Array.length; k++)
{
var totalCol = 0;
$.each(Array[k], function (){totalCol += parseInt(this);});
$('#table').append('<tr id="' + k + '"></tr>')
for (var i = 0; i < Array[k][i]; i++)
{
var weight = Array[k][i];
var width = weight * 100 / totalCol;
$('#' + k).append('<td width="' + width + '%">column</td>');
}
}
知道如何解决这个问题吗?
【问题讨论】:
-
很简单,你不能这样做(colspan 有一种方法,但那只是疯狂的谈话) - 使用内联块、浮动块或弹性框要容易得多(只要你不想支持IE9以下)...本质上,你想要的不是表格=二维网格
-
我不太确定 table 是否是正确的选择,因为您想通过为单元格提供单独的宽度来忽略列的概念。我还建议您查看 Flexbox 并以这种方式制作自己的行。
-
除非您使用嵌套表,否则您不能对表执行此操作。您可以使用 div 并为每列赋予不同的宽度
标签: javascript jquery html html-table rows