html td标签不尊重表格中的宽度

时间:2017-08-03 19:41:47

标签: html css html-table width css-position

我在创建没有包装的固定大小的表时遇到问题。我试过很多地方,但找不到解决这个问题的方法。我发布了我认为似乎是问题的代码。

以下是我想要获得的 布局 表:



<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>
&#13;
&#13;
&#13;

基本上,在上表中,方框0,1,8,9和14-18是固定宽度,并且允许19根据其他固定宽度改变大小。但是,使用此表,尽管有layout:fixed,整个表仍会随窗口调整大小。为了解决这个问题,我尝试了width="460px"

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

这确实解决了调整大小问题,但现在忽略了方框14-19所需的宽度!这非常令人沮丧,我在网上尝试过很多建议。

我的一些约束:

  • 试图避免div,因为这是一个电子邮件签名和 邮件客户端我试图保持与句柄div完全兼容
  • 我不喜欢使用嵌套表,因为再次使用不同的邮件 客户端似乎完全处理内联块/浮动元素 不同的方式

2 个答案:

答案 0 :(得分:1)

<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>

答案 1 :(得分:0)

尝试,style =“max-width:41px”也许有效。