长话短说,我正在制作HTML电子邮件(是的,我知道)。我已经到了GMail,Yahoo Mail,Thunderbird和Outlook 2003看起来很棒的地方(还没有测试07 ......)。唯一的打嗝是Hotmail(Windows Live Mail)。事实上它根本不支持背景图像并不会让我对我的布局感到困扰......因为布局,我需要将表格的宽度设置为设定值(550px)而不是百分之一(80%)或者我的标题图片只是漂浮在空间中并且看起来很难看。
所以我现在有两个选项,我看到它 - 制作一个特定于Hotmail的css规则来将宽度设置为静态值(我不知道这是否可行)或者让我的邮件模板被修改为根据收件人是否属于'@ hotmail.com'而飞。我更喜欢前者而不是后者。
澄清:为了简单起见,想象一下550px宽乘150px高的div。它有一个带有repeat-x的背景图像。在那个div中,我有一个高150px和550px宽的img。如果外部div设置为视口的80%,则它应向左扩展,从而暴露重复背景。这是预期的。由于Hotmail不显示背景图像,因此它只是一个空白区域。
进一步澄清:转到here看一个我的意思的例子。
答案 0 :(得分:1)
尝试将其放入每个图片标记中:
style="display: block"
你不能拥有不同的CSS,因为它应该是内联的。你也应该使用表格(我知道,我知道)。如果你可以发布一些消息来源,我可以进一步帮助。
答案 1 :(得分:0)
最后,我必须在发送之前根据自定义规则列表(基于域的正则表达式替换)修改我的电子邮件。
答案 2 :(得分:0)
我知道这是个老问题,但它可能对仍在使用 Web、Windows Outlook 和 Windows 邮件苦苦挣扎的人有用。
我找到了一种专门从 Windows Outlook 和邮件应用程序中隐藏元素的方法:
<span style="mso-element:field-begin;"></span>
Content to hide from Outlook
<span style="mso-element:field-end;"></span>
参考这个伟大的blog。
您也可以将所有 Outlook 应用(移动、网络、桌面)定位为:
<!--[if mso]>
<div> Your content that you want visible </div>
<![endif]-->
您还可以使用其他条件将其反转并针对特定版本, 类似:
<!--[if !mso]> Everything not mso (outlook or windows mail) <![endif]-->
<!--[if gte mso 16]> All mso versions that are greater than 16 <![endif]-->
有关此 link 的更多信息。
至于在 Outlook 的桌面/Windows 版本(邮件应用程序和 Outlook ms)中显示背景图像,您可以使用 VML,有关更多信息,您可以找到 here.