我想编程地注入列宽度以设置列的宽度。为此,必须将表的表格CSS设置为"固定",并且在整个表中使用了第一行的列宽度。
所以我尝试了以下内容:
<style>
td {
border: 1px solid gray;
}
</style>
<table style="table-layout:fixed;border:1px solid black;" >
<tbody>
<tr>
<td style="border:none;width:200px;"></td>
<td style="border:none;width:300px;"></td>
<td style="border:none;width:150px;"></td>
</tr>
<tr>
<td>Data Row 1, cell 1</td>
<td>Data Row 1, cell 2</td>
<td>Data Row 1, cell 3</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Footer Row 1, cell 1</td>
<td>Footer Row 1, cell 2</td>
<td>Footer Row 1, cell 3</td>
</tr>
</tfoot>
</table>
我已经包含了tfoot,只是为了确保它与页脚配合使用(稍后也与Thead一起使用!(。
问题在于它为假人" Tr"插入了一个很小的空间。我尝试将显示器设置为"无",这将使虚拟div的效果全部效果。我尝试将高度设置为0;线高到0。虚拟tr坚持坐在那里的高度(1px?(高度。如何将其高度设置为零但使用TD宽度?
您可以考虑colgroup或CSS选择器nth-child(n(
HTML
<colgroup>
元素定义了表中的一组列。
或
:nth-child()
css伪级匹配元素基于其在一组兄弟姐妹中的位置。
下面的示例首先包括您自己的代码,让您看到差异nd nd the 2 options (colGroup或css(
tr {
background: gray/* see us */
}
[class] td {
width: 150px;
}
[class] td:first-child {/*selector similar to [class] td:nth-child(1){} */
width: 200px;
}
[class] td:nth-child(2) {
width: 300px;
}
<h1>Your empty row</h1>
<table style="table-layout:fixed;border:1px solid black;">
<tbody>
<tr>
<td style="border:none;width:200px;"></td>
<td style="border:none;width:300px;"></td>
<td style="border:none;width:150px;"></td>
</tr>
<tr>
<td>Data Row 1, cell 1</td>
<td>Data Row 1, cell 2</td>
<td>Data Row 1, cell 3</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Footer Row 1, cell 1</td>
<td>Footer Row 1, cell 2</td>
<td>Footer Row 1, cell 3</td>
</tr>
</tfoot>
</table>
<hr>
<h1><code>colgroup</code> tag</h1>
<table style="table-layout:fixed;border:1px solid black;">
<colgroup>
<col style="width:200px;" /><!-- col can be style from nth-child() selector too to keep html clean of inline style -->
<col style="width:300px;" />
<col style="width:150px;" />
</colgroup>
<tbody>
<tr>
<td>Data Row 1, cell 1</td>
<td>Data Row 1, cell 2</td>
<td>Data Row 1, cell 3</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Footer Row 1, cell 1</td>
<td>Footer Row 1, cell 2</td>
<td>Footer Row 1, cell 3</td>
</tr>
</tfoot>
</table>
<hr>
<h1>nth-child() approach</h1>
<table class style="table-layout:fixed;border:1px solid black;">
<tbody>
<tr>
<td>Data Row 1, cell 1</td>
<td>Data Row 1, cell 2</td>
<td>Data Row 1, cell 3</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Footer Row 1, cell 1</td>
<td>Footer Row 1, cell 2</td>
<td>Footer Row 1, cell 3</td>
</tr>
</tfoot>
</table>