2011-04-04 47 views
4

我只是创建一些电子邮件通讯,我无法弄清楚强制展望如何正确显示我的HTML表格。展望2010年和HTML表格

有简单的例子:

<table cellpadding="0" cellspacing="0" id="outlookHack" 
    style="table-layout:fixed; border: 0; background-color: #1E6C9D; 
      background-image: url(http://www.komix.cz/upload/img_bg.png); 
      background-repeat: repeat-y; margin-top: 0px; margin-bottom: 0px; 
      padding: 0px; margin-left: auto; margin-right: auto; 
      text-align: center;width: 620px;" width="620"> 
<tr> 
    <td width="10" style="width: 10px; background:inherit;" height="10">&nbsp;</td> 
    <td width="600" style="width: 600px; background:ihnerit;" height="10"></td> 
    <td width="10" style="width: 10px; background:inherit;" height="10">&nbsp;</td> 
<tr> 
<tr> 
    <td width="10" style="width: 10px; background: inherit;">&nbsp;</td> 
    <td width="600" style="width: 600px; background: white;">some content...</td> 
    <td width="10" style="width: 10px; background: inherit;">&nbsp;</td> 
<tr> 
</table> 

的问题是,左,右列应该有固定的10px的大小,但前景07/10使他们为+/- 5像素。

回答

3

KISS - 保持简单(笨)

的Outlook 07-本使用Word的渲染引擎,这基本上是IE(其是哑)进一步简单化。它迫使你编码回到html 1标准,并且确实限制你可以做的事情。对于初学者,基本上放弃复杂的CSS。它可以使用(内联),但其中大部分不起作用。看到这document on compatibility

因此,使用兼容性图表,后台支持几乎不存在....失去它。背景重复不受支持,并且填充也没有得到很好的支持。

现在,如何解决你的填充问题?您可以使用cellpadding来增加空间,但有时会对不需要填充的区域产生不良影响。有些人使用嵌套表来提供必要的填充,使用外部来控制页面布局和内部表来控制段落。请注意,根据文档也支持边距,因此您可以在段落上使用边距,将10像素左侧和右侧的列放弃,以支持具有10像素边距的段落。

另外请注意,你应该避免任何速记CSS,即border:1px solid #000

谢谢,微软。当你将UI开发人员逼疯到你的渲染引擎质量和基本标准的普遍回避时,你也让我们获得了很多额外的钱。

+0

除Outlook 07外,填充实际上在每个主要的电子邮件客户端(包括Web和桌面)中都可以100%地工作。而Outlook 07仍然支持它,它只是可以有一些古怪的行为 - 描述在这里:http://www.activecampaign.com/blog/email-design-watch-your-table-cell-padding/ 对于OP目的(在水平边上填充的直列布局),填充方法将完美工作。 – Todd 2011-04-04 16:54:09