Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 表中的巨大差距-展望2010_Image_Outlook_Html Table_Html Email_Spacing - Fatal编程技术网

Image 表中的巨大差距-展望2010

Image 表中的巨大差距-展望2010,image,outlook,html-table,html-email,spacing,Image,Outlook,Html Table,Html Email,Spacing,我正在为一位客户处理多封电子邮件,该客户在办公室的电脑上使用Outlook 2010第14版。无论电子邮件是如何创建的,表的右侧都会被吹走 例如: 电子邮件#1: 电子邮件#2: 这是代码:查看源代码: 我已经做了很多搜索,试图找出我可以做些什么来解决这个问题,下面是一些事情: 将所有CSS内联 确保所有单元格填充、单元格间距和边框都设置为零 表的指定宽度 指定图像的高度和宽度 确保图像的高度和宽度符合代码中指定的高度和宽度 制作jpg与png的图像 删除所有不必要的空白 我的桌子高度不超

我正在为一位客户处理多封电子邮件,该客户在办公室的电脑上使用Outlook 2010第14版。无论电子邮件是如何创建的,表的右侧都会被吹走

例如:
电子邮件#1:

电子邮件#2:

这是代码:查看源代码:

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

  • 将所有CSS内联
  • 确保所有单元格填充、单元格间距和边框都设置为零
  • 表的指定宽度
  • 指定图像的高度和宽度
  • 确保图像的高度和宽度符合代码中指定的高度和宽度
  • 制作jpg与png的图像
  • 删除所有不必要的空白
  • 我的桌子高度不超过23.7英寸
我读过很多论坛,发现很多人也有Outlook方面的问题,但我还没有找到一个在桌子右边有很大空间的论坛,因此我的论坛也没有


任何帮助都将不胜感激

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

正如@MarcB提到的,Outlook 2007/2010/2013使用Word的呈现引擎来呈现电子邮件。早期版本的Outlook使用IE的渲染引擎。这一转变对HTML电子邮件的前景造成了重大变化

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

CSS样式

  • 浮动
  • 位置
  • 展示
  • 宽度
  • 高度
  • 填充(不适用于div和p标记)
  • 背景图像(仅适用于body标记)
  • 列表样式图像
HTML属性

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

  • 动画GIF
  • HTML表单

@MattCoughlin的答案就Outlook代码而言是正确的。不过,我还想补充一点,Outlook对列数和行数非常具体


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

我刚刚对您的代码做了一些编辑,并为您提供了一个测试工具

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

让我知道进展如何


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

尝试放置
/>
关闭图像标签。这一点对我很有用。这是一个完全由MS.发明的问题,好像它以前还不够糟糕。

至于我,outlook忽略了div的宽度,所以如果您将其编码为:

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

...
表的宽度将扩展到100%,因此请尝试将所有固定宽度元素嵌套在表中,并将其设置为固定到这些父表(请注意,表也需要样式),如:


...

这将为您提供所需的宽度

Outlook2010使用Word作为其html呈现引擎,而Word的呈现引擎(尽管难以想象)甚至比IE6还要差。
<table width="500px" style="width:500px">
<div style="width:500px">
...
</div>
</table>