html td 标签不考虑 table 中的宽度
html td tags not respecting width in table
我在创建没有换行的固定大小 table 时遇到问题。我试过在很多地方寻找但找不到解决这个问题的方法。我已经发布了我认为似乎是问题所在的代码。
这是 table 布局 我想得到:
<table style="border: 1px solid black; table-layout:fixed; border-collapse:collapse;">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41" style="border: 1px solid black;">14
</td>
<td width="25" style="border: 1px solid black;">15
</td>
<td width="25" style="border: 1px solid black;">16
</td>
<td width="25" style="border: 1px solid black;">17
</td>
<td width="25" style="border: 1px solid black;">18
</td>
<td>19
</td>
</tr>
</table>
本质上,在上面table中,框0、1、8、9和14——18是固定宽度,19允许根据其他固定宽度改变大小。然而,有了这个 table,尽管有 layout:fixed
,整个 table 也会随着 window 调整大小。为了解决这个问题,我尝试包括 width="460px"
:
<table style="border: 1px solid black; table-layout:fixed; border-collapse:collapse;" width="460px">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41" style="border: 1px solid black;">14
</td>
<td width="25" style="border: 1px solid black;">15
</td>
<td width="25" style="border: 1px solid black;">16
</td>
<td width="25" style="border: 1px solid black;">17
</td>
<td width="25" style="border: 1px solid black;">18
</td>
<td>19
</td>
</tr>
</table>
这确实解决了调整大小的问题,但现在忽略了框 14 -- 19 所需的宽度!这非常令人沮丧,我尝试了网上的许多建议。
我的一些限制:
- 尽量避免使用 div,因为这是用于电子邮件签名和
邮件客户端我正在努力保持与处理 div 的兼容性
很差
- 我不想使用嵌套的 tables,因为,不同的邮件
客户端似乎相当处理内联块/浮动元素
不同的方式
尝试一下,样式="max-width: 41px" 也许可行。
<table style="border: 1px solid black; border-collapse:collapse;" width="460px">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41px" style="border: 1px solid black;">14
</td>
<td width="25px" style="border: 1px solid black;">15
</td>
<td width="25px" style="border: 1px solid black;">16
</td>
<td width="25px" style="border: 1px solid black;">17
</td>
<td width="25px" style="border: 1px solid black;">18
</td>
<td width="auto">19
</td>
</tr>
</table>
我在创建没有换行的固定大小 table 时遇到问题。我试过在很多地方寻找但找不到解决这个问题的方法。我已经发布了我认为似乎是问题所在的代码。
这是 table 布局 我想得到:
<table style="border: 1px solid black; table-layout:fixed; border-collapse:collapse;">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41" style="border: 1px solid black;">14
</td>
<td width="25" style="border: 1px solid black;">15
</td>
<td width="25" style="border: 1px solid black;">16
</td>
<td width="25" style="border: 1px solid black;">17
</td>
<td width="25" style="border: 1px solid black;">18
</td>
<td>19
</td>
</tr>
</table>
本质上,在上面table中,框0、1、8、9和14——18是固定宽度,19允许根据其他固定宽度改变大小。然而,有了这个 table,尽管有 layout:fixed
,整个 table 也会随着 window 调整大小。为了解决这个问题,我尝试包括 width="460px"
:
<table style="border: 1px solid black; table-layout:fixed; border-collapse:collapse;" width="460px">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41" style="border: 1px solid black;">14
</td>
<td width="25" style="border: 1px solid black;">15
</td>
<td width="25" style="border: 1px solid black;">16
</td>
<td width="25" style="border: 1px solid black;">17
</td>
<td width="25" style="border: 1px solid black;">18
</td>
<td>19
</td>
</tr>
</table>
这确实解决了调整大小的问题,但现在忽略了框 14 -- 19 所需的宽度!这非常令人沮丧,我尝试了网上的许多建议。
我的一些限制:
- 尽量避免使用 div,因为这是用于电子邮件签名和 邮件客户端我正在努力保持与处理 div 的兼容性 很差
- 我不想使用嵌套的 tables,因为,不同的邮件 客户端似乎相当处理内联块/浮动元素 不同的方式
尝试一下,样式="max-width: 41px" 也许可行。
<table style="border: 1px solid black; border-collapse:collapse;" width="460px">
<tr>
<th width="230px" rowspan="3" colspan="1" style="border: 1px solid black;">0
</th>
<td width="230px" colspan="6" style="border: 1px solid black;">1
</td>
</tr>
<tr>
<td colspan="3" style="border: 1px solid black;">8
</td>
<td colspan="3" style="border: 1px solid black;">9
</td>
</tr>
<tr>
<td width="41px" style="border: 1px solid black;">14
</td>
<td width="25px" style="border: 1px solid black;">15
</td>
<td width="25px" style="border: 1px solid black;">16
</td>
<td width="25px" style="border: 1px solid black;">17
</td>
<td width="25px" style="border: 1px solid black;">18
</td>
<td width="auto">19
</td>
</tr>
</table>