【发布时间】:2021-08-14 00:41:16
【问题描述】:
我有一个一维对象数组。我需要在具有 3 列的表中显示该数组中的数据。
我为每一列分配1/3rd of 100% width,因为列数是固定的。
如果我要显示 3 个或更多对象,则一切正常。但是,如果我有 1 或 2 个对象,则列宽会发生变化,列会扩展以适应最大宽度。
Here 是我的代码。我知道到处都有内联 CSS,这是故意的。请多多包涵。我提供了一个包含 2 个对象的数组和另一个包含 4 个对象的数组,这样您就可以看出差异。 我知道我可以为不写一个单独的条件。对象小于 3,然后设置特定的宽度,但我希望这可以单独使用 CSS 解决。 如果有人能提供帮助,我将不胜感激。
编辑:我已经有一个基于 JS 的解决方案。如果数组的对象少于 3 个,我会动态计算表格宽度,如下所示。
let width = '100%';
if (listOfPeople.length < 3 && listOfPeople.length > 0) {
width = (listOfPeople.length * 100) / 3 + '%';
}
这个宽度就是这样使用的
appDiv.innerHTML = `
<table width="${width}" border="0">
<tbody>
<td style="width: calc(100% / 3); height: 100%; max-width: calc(100% / 3); padding: 10px;">
data
</td>
</tbody>
</table>
`;
我没有在链接代码中更新这个解决方案,因为我真的希望有一个 CSS 解决方案。如果有人有任何想法,请告诉我
【问题讨论】:
-
永远不要发布代码链接,代码就是文本,应该这样对待。请发布您的代码,以便我们查看:)
标签: javascript html css html-table css-tables