css - 如何自动设置 TD 宽度全部相等宽度
问题描述
如何自动设置 TDs 宽度全部相等宽度?没有设置类名。TD 可以是 3 或 4 或其他
table {
table-layout: fixed;
width: 100%;
}
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
请帮忙。
解决方案
下面的例子怎么样。它使用一些 JS 来自动化这个过程。它还使用 CSScalc()
并var()
让 CSS 进行数学运算。
const tables = document.getElementsByTagName('table');
for( let table of tables )
{
let row = table.getElementsByTagName('tr')[0];
let columns = row.getElementsByTagName('td').length;
table.style.setProperty('--columns', columns);
}
table {
table-layout: fixed;
width: 100%;
}
table td {
width: calc(100% / var(--columns));
}
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
</tr>
</table>
推荐阅读
- c# - SQL Query on a Datatable or List of entity
- c# - SignalR error 404 on negotiate with asp.net application and subfolder
- javascript - Javascript - 无法读取 null 的属性“样式” - 使用 onclick 将文本发布到表格时出现问题
- swift - 如何解决:由于“未知上下文”而无法投射?
- c - 使用 fread 和 fseek 逐行读取
- c# - 表达式树成员绑定 null 与合并对象?
- python - 在 Pandas 中将序列/二维数组转换为 Dataframe 列
- python - 如何在文件夹中附加 .csv 文件(并排与 2 列间隙)
- python - 使用模板中的 xhtml2pdf CreatePdf 并上传到 S3
- mysql - MySQL 挂断并拒绝接听