【问题标题】:Large gap in table - Outlook 2010表格中的巨大差距 - 2010 年展望
【发布时间】:2012-08-14 03:47:46
【问题描述】:

我正在为在办公室的 PC 上使用 Outlook 2010 版本 14 的客户处理多封电子邮件。无论电子邮件是如何创建的,表格的右侧都被炸飞了。

例如:
电子邮件#1:

电子邮件#2:

这是代码:view-source:http://fortworth.dmplocal.com/main/index.php?action=viewsenthtml&id=95&ids=e9499cb22fd2fbaee560c877a2716fa0aab6880d

我做了很多搜索,试图找出我可以做些什么来解决这个问题,以下是一些事情:

  • 内联所有 CSS
  • 确保所有单元格内边距、单元格间距和边框都设置为零
  • 表格的指定宽度
  • 图片的指定高度和宽度
  • 确保图像是代码中指定的高度和宽度
  • 制作图像 jpg 与 png 的对比
  • 删除了所有不必要的空白
  • 我的桌子高度不超过 23.7 英寸

我阅读了很多论坛,发现很多人也对 Outlook 有问题,但我没有找到一个在表格右侧有很大空间的地方,因此将其推出我的。

任何帮助将不胜感激!

【问题讨论】:

  • Outlook 2010 使用 Word 作为它的 html 渲染引擎,而 Word 的渲染引擎(虽然不可思议)比 IE6 还要 WORSE

标签: image outlook html-table html-email spacing


【解决方案1】:

对于我来说,outlook 忽略了 div 的宽度,所以如果你这样编码:

<div style="width:500px">
<table width="100%">
...
</table>
</div>

表格的宽度会扩大到 100%,所以尝试将所有固定宽度的元素嵌套在表格中,并为这些父表格设置固定 with(注意表格也需要样式),例如:

<table width="500px" style="width:500px">
<div style="width:500px">
...
</div>
</table>

这将为您提供所需的宽度

【讨论】:

    【解决方案2】:

    尝试放置/&gt; 来关闭图片标签。仅此一项就对我有用。这是一个完全由 MS 发明的问题。好像以前还不够糟糕。

    【讨论】:

      【解决方案3】:

      我刚刚对您的代码进行了一些编辑,并提供了一个小提琴供您测试。

      http://jsfiddle.net/YWnzc/135/

      但我无法检查我在 Outlook 2010 中做了什么,但我认为 Outlook 2010 有很多限制

      http://fixoutlook.org/

      让我知道进展如何。

      此外,我还看到您的代码中嵌套了表格。我不认为这是必要的。看到您的邮件设计,这应该非常相似,如果编码正确,您报告的 pronlem 不应该在那里。

      【讨论】:

        【解决方案4】:

        对于 HTML 表格,使用 HTML 属性而不是 CSS 样式指定 widthheight。现代版本的 Outlook 忽略 widthheight 样式。

        正如@MarcB 提到的,Outlook 2007/2010/2013 使用 Word 的渲染引擎来渲染电子邮件。以前的 Outlook 版本使用 IE 的渲染引擎。这种转变导致 HTML 电子邮件的格局发生了重大变化。

        以下是 Outlook 2007 及更高版本不支持的部分功能列表:

        CSS 样式

        • 浮动
        • 位置
        • 显示
        • 宽度
        • 身高
        • 填充(不适用于 div 和 p 标签)
        • 背景图片(仅适用于body标签)
        • 列表样式图像

        HTML 属性

        • alt (img)
        • 背景(表、日、日)
        • colspan, rowspan (th, td)(这方面的信息有冲突,但它似乎受支持,只要不使用值 0;但是,通常建议嵌套表而不是使用 colspan 和行跨度)

        杂项

        • GIF 动画
        • HTML 表单

        【讨论】:

          【解决方案5】:

          @MattCoughlin 的答案就 Outlook 代码而言是正确的。不过,我还要补充一点,Outlook 真的 专门针对列数和行数。

          因此,请检查列数是否相加。必要时使用空单元格和 colspan。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-02-12
            • 2017-06-27
            • 1970-01-01
            • 1970-01-01
            • 2015-07-29
            • 2015-08-17
            • 1970-01-01
            相关资源
            最近更新 更多