使用特定的css定位Windows Live Mail

时间:2011-06-23 16:39:36

标签: css email html-email windows-live

长话短说,我正在制作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看一个我的意思的例子。

3 个答案:

答案 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.