在改css样式时td设置宽度width无效
后面发现对表格设置table-layout:fixed属性以后,如果表格的第一行tr中的td设置过单元格合并即使用了colspan属性,后面tr中的td无论如何设置宽度都没有任何效果。
<table style="table-layout: fixed; width:100%;">
<tr style="display:none">
<td width="30%"></td>
<td width="40%"></td>
<td width="30%"></td>
</tr>
<tr>
<td colspan="3">统计表</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
</table>
对于表格单元格文字过长,可以通过设置td的属性word-wrap:break-word
<table>
<col style="width:100px"/>
<col style="width:200px"/>
<col style="width:300px"/>
<tbody>
<tr>
<td colspan="3">统计表</td>
</tr>
<tr>
<td>111</td>
<td>222</td>
<td>333</td>
</tr>
</tbody>
tableLayout 属性用来显示表格单元格、行、列的算法规则。
固定表格布局:(table-layout: fixed)
auto属性:
当设置为auto属性,也就是table-layout属性的时候,如果表格设置了width属性height属性,那么表格的宽度和高度就是设置的值。不管你是否设置了单元格的高宽值,表格的高宽都已经限定了!如果没有设定,那么表格宽度高度则为单元格宽高(包括一些padding、border属性等)累积的总和。
自动表格布局:(table-layout: auto)
fixed属性:
但是当设置了fixed属性的时候,如果表格设置了width属性height属性,如果设置的单元格宽高累加起来的总和比表格设置的宽高总和要大,那么表格的实际宽高就为每个单元格宽高累积的总和,但是如果单元格累积的总和比表格自己设计的要小,那么表格的宽高属性则为表格设置的宽高值。