5

我正在制作 HTML 电子邮件,我想在发送之前在浏览器中预览它们,所以我希望它们在浏览器和电子邮件客户端中看起来相似。我尝试了几种方法来设置行和单元格的宽度和高度:

<table height="500" width="200">
    <tr>
        <td height="100">TEST</td>
    </tr>
    <tr>
        <td style="height: 100px;">TEST</td>
    </tr>
</table>

通过 HTML 属性或样式属性设置高度都没有成功。单元格覆盖了桌子的整个高度。

编辑

因为它似乎在一个空白的 HTML 页面上工作,所以我在这里发布了更多代码。我实际上是在 PHP 页面上使用 Javascript 来设置 div 的 innerHTML 属性。该函数的完整代码为:

function changeDivHTML()
{
begin = '<table width="595" height="842" align="left" bgcolor="#FFFFFF" border="1" cellpadding="0" cellspacing="0" style="border: 1px solid black; border-radius: 10px; padding: 0px;padding-top: 6px; margin: 0px;">';

test = "<tr><td height=\"100\">Test</td></tr>";

testTwo = "<tr><td height=\"100\">Test</td></tr>";

end = "</table>";

parent.document.getElementById('divToChange').innerHTML = begin + test + testTwo + end;
}

该函数被调用并且 div 的 innerHTML 变化很好。一切都很好,除了单元格的高度各为 50%。它们填满了整个表格,而不是每个都占用 100px 的高度。

在 tr 标签中设置高度也有同样的效果,就是没有效果。

更多信息

这是空 HTML 页面上的输出。在我的 Firefox 浏览器上,每个单元格都占高度的 50%。覆盖整个页面而不是 100px

<html>

<head>

</head>

<body onload="window.print()">
<table style="border: 1px solid black; border-radius: 10px; padding: 0px;padding-top: 6px; margin: 0px;" align="left" bgcolor="#FFFFFF" border="1" cellpadding="0" cellspacing="0" height="842" width="595">
<tbody>
<tr height="100"><td height="100">Test</td></tr>
<tr height="100"><td height="100">Test</td></tr>
</tbody>
</table>
</body>

</html>

我需要避免为此使用 CSS,因为我说过它是为电子邮件生成的 HTML 代码,并且电子邮件客户端对 CSS 不友好。

4

3 回答 3

4

在这里试试这个演示

<table height="500" width="200">
<tr><td height="100">TEST</td></tr>
<tr><td style="height: 100px;display:block">TEST</td></tr>
</table>
于 2013-09-18T11:23:24.183 回答
1

对我来说似乎很好:http: //jsfiddle.net/ZrKEV/1/

我唯一能想到的就是你错过了<table>...</table>

于 2013-09-18T11:23:40.253 回答
0

嗨,你错过了两件事。

  1. 您必须为每个 tr 或 td 设置样式,只要您想添加内联 css
  2. 以 px 或 % 为单位给出值(高度或宽度),例如 100px 或 100%

希望对您有所帮助

谢谢

于 2013-11-08T05:21:05.267 回答