Я пытаюсь получить столбец таблицы с разной шириной в каждой строке. Я использую массив, чтобы получить значения, которые я превращаю в проценты по ширине и передавая их в столбец. Вывод, похоже, копирует строку выше, даже если она имеет разную ширину.Разрешающая разная ширина столбцов в строках
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 лет, но это просто с ума говорить) - гораздо проще использовать встроенные блоки, или плавающие блоки, или flexbox (если вы не хотите поддерживать IE9 или меньше) ...в сущности, то, что вы хотите, не является таблицей = двухмерная сетка. –
Я не совсем уверен, что здесь правильный выбор, так как вы хотите игнорировать концепцию столбцов, предоставляя ячейкам индивидуальную ширину. Я бы также рекомендовал проверить Flexbox и сделать свои собственные строки таким образом. – Schneeez
Вы не можете делать это с помощью таблиц, если не используете вложенные таблицы. Вы можете использовать div и дать разную ширину для каждого столбца –