我用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内,高度也是错误的。
答案 0 :(得分:1)
我明白了。
由于某些原因,Outlook不了解布局样式,例如填充。我不得不摆脱行,列等的所有高度,摆脱所有填充,只有一个“压扁”的表,只有其内容大小。然后我需要一些填充,我只需要它。
不幸的是,这一切都是无用的(但知识),因为最终我的工作营销人员告诉我使用一个不使用表格的丑陋布局......羞耻! :) 感谢jackJoe的所有帮助! :d
保重, 彼得。
答案 1 :(得分:0)
好的,我想我有一些提示,以便你可以解决这个问题。
(正如你现在肯定知道的那样,Outlook在处理HTML时非常糟糕,即使它没有意义,它也可以做最离谱的事情。)
所以,我的建议是:
你的桌子有一个明确的高度:
(table#signature_table
)height:
450px;
你需要移除那个高度!该 桌子将有任何高度 需求。
然后,大多数元素都有
padding-top
和padding-bottom
(例如:th#employee_name
和
th#employee_position
),尝试
通过定义高度来改变这一点
这些元素的<td>
;对于
例如:
如果你有一个填充底部:20px,
只需确保您的<td>
有
足够的高度(与文字)
将它“拉伸”到之前的20px,
比如<td height=40>
。这需要
进行测试,直到你得到正确的
大小
尝试使用像素代替点, 点数不太“可控”;
确保使用内联样式
(例如style="font-size:
11px;"
),这是一种确保方法
风格正在应用,
尤其是电子邮件客户端
不接受外部CSS(Gmail,
等等)。应用所有样式而不是
忘记添加一个字体系列
表(至少)。这是浪费
代码,但最终它将是值得的
额外的代码。
简化:不要使用表头
<th>
和其他标签
(IMO),我只使用<tr>
和<td>
而已。我认为Outlook可以风格化
<th>
以不期望的方式。
创建HTML电子邮件意味着您需要
像你一样编码html和css
是在1999年,所以不介意使用
表等。确保代码
验证