HTML电子邮件 - Outlook 2007 + 10,不相关的表对齐

时间:2011-04-12 05:18:28

标签: html css outlook-2007 html-email

我遇到了一个两难的境地,在此之前我从未遇到过这种困境。在设计中,已构建的Outlook 07和10正在对齐两个完全不相关的表行。这是一个复杂的电子邮件布局,因此包含很多表。 左栏中的内容贴在这里描述的底部(或兄弟的顶部)hr标签上:

<tr><td height="20"></td></tr>
<tr><!-- start of sidebar product (horizontal)-->
    <td>
        <table cellpadding="0" cellspacing="0" border="0">
            <tr>
                <td width="170">
                    <a href="" title="inline product 2" style="text-decoration: none;">
                        <!-- product Image -->
                        <img border="0" style="font-family:Arial,Helvetica,sans-serif;display:block" src="sidebar-beer-tbc.jpg" alt="South Island Marlborough Sauvignon Blanc" width="170" height="105">
                    </a>    
...

每列至少有三个父表(当添加不同的部分时),因此渲染引擎没有理由尝试对齐它们。

任何帮助都会非常感激,这让我很有智慧。

由于这是针对客户端并且包含敏感信息,我还没有提供完成的文档,但这里是两个比较的注释抓取。 https://skitch.com/tilt/r3w65/photoshop

2 个答案:

答案 0 :(得分:3)

您已经点击了'Outlook 2007分页错误'。基本上,因为Outlook 2007/10使用Word渲染引擎,所以它们将其组织起来进行打印而不是屏幕。

如果您遇到Outlook无法在其间插入分页符的内容,则只需在其上方插入大量空格即可插入分页符。

这真的很烦人 - 唯一的办法是在同一个地方完全关闭上面的行,插入100%宽的东西(可以是透明的1px高线),然后在下面再次启动表。 / p>

答案 1 :(得分:0)

Outlook在有跨度(colspan或rowspan)时执行此操作。当其他客户端处理跨越的行和列并在布局方面分开时,Outlook将错误地计算它们。这是在outlook中使用愚蠢的Word布局引擎的结果 - 这个决定将电子邮件格式设置回1995年 - 但我离题了。

您的问题的解决方案是采取违规的方框,而不是使用任何跨度,使其成为自己的完整表格。因此,在您的图像中,左侧的单个饮料将位于3x3未打开的表中,而垂直“产品TBD”侧边栏将是它自己的1x4或任何垂直未打开的表。总的来说,这已经为我解决了。此外,有时需要为这些内部表格提供固定的高度,以防止它们变为height="100%"并打破布局(再次,仅在Outlook中)。