电子邮件签名生成的html表在Outlook 2010中垂直延伸

时间:2011-05-16 13:48:03

标签: html outlook

我用PHP编写了一个电子邮件签名生成器。程序以下列文件格式吐出输出:

signature_file.htm

signature_style.css

signature_image_folder

图像和样式表在htm文件中链接。这在网络浏览器中查看时有效。

当我将文件复制到以下路径时:

.. \ Documents and Settings \ user_name \ Application Data \ Microsoft \ Signatures \

要在Outlook 2010中的签名管理器中显示签名,它看起来很好 - 除了包含所有信息的表垂直拉伸之外的字体,图像等。似乎行和#39;高度已扩大到100%。

在CSS文件中,我已经静态指定了表格高度,但Outlook似乎覆盖了它。

此外,从Outlook加载签名时,它会创建一个* .rtf文件。在rtf内,高度也是错误的。

2 个答案:

答案 0 :(得分:1)

我明白了。

由于某些原因,Outlook不了解布局样式,例如填充。我不得不摆脱行,列等的所有高度,摆脱所有填充,只有一个“压扁”的表,只有其内容大小。然后我需要一些填充,我只需要它。

不幸的是,这一切都是无用的(但知识),因为最终我的工作营销人员告诉我使用一个不使用表格的丑陋布局......羞耻! :) 感谢jackJoe的所有帮助! :d

保重, 彼得。

答案 1 :(得分:0)

好的,我想我有一些提示,以便你可以解决这个问题。

(正如你现在肯定知道的那样,Outlook在处理HTML时非常糟糕,即使它没有意义,它也可以做最离谱的事情。)

所以,我的建议是:

  1. 你的桌子有一个明确的高度:

    table#signature_tableheight: 450px;

    你需要移除那个高度!该 桌子将有任何高度 需求。

  2. 然后,大多数元素都有 padding-toppadding-bottom (例如:th#employee_nameth#employee_position),尝试 通过定义高度来改变这一点 这些元素的<td>;对于 例如:

    如果你有一个填充底部:20px, 只需确保您的<td>有 足够的高度(与文字) 将它“拉伸”到之前的20px, 比如<td height=40>。这需要 进行测试,直到你得到正确的 大小

  3. 尝试使用像素代替点, 点数不太“可控”;

  4. 确保使用内联样式 (例如style="font-size: 11px;"),这是一种确保方法 风格正在应用, 尤其是电子邮件客户端 不接受外部CSS(Gmail, 等等)。应用所有样式而不是 忘记添加一个字体系列 表(至少)。这是浪费 代码,但最终它将是值得的 额外的代码。

  5. 简化:不要使用表头 <th>和其他标签 (IMO),我只使用<tr><td> 而已。我认为Outlook可以风格化 <th>以不期望的方式。 创建HTML电子邮件意味着您需要 像你一样编码html和css 是在1999年,所以不介意使用 表等。确保代码 验证