这个有点模糊,但我希望有人可以找到解决方案。
我正在创建一个带有全宽标题栏的电子邮件模板。经过大量的黑客攻击之后,我已经能够在大多数电子邮件客户端中使用背景图像样式和条件VML(对于Outlook客户端)进行良好的工作。
问题是Windows 10 Mail App响应Outlook条件语句,但无法正确呈现VML。这会导致图像图像丑陋,图像上显示“无法显示此图片”。
这是我的条件VML块......
<!--[if gte mso 9]>
<v:rect stroke="f" fill="t" style="mso-width-percent: 980; height: 200; position: absolute; z-index:-1; mso-position-horizontal: left">
<v:fill type="tile" src="/Content/images/my_background.gif" color="#f4f4f4" />
</v:rect>
<![endif]-->
所以我需要的是让Windows 10 Mail正确显示VML,或者完全忽略该部分。设计工作顺利,没有标题栏,但我只是不希望它显示损坏的图像图标。
答案 0 :(得分:2)
部分解决方案A
将您的条件修改为
<!--[if (gte mso 9)&(lte mso 15)]>
和要在Outlook 2013中显示但不在Windows 10 Mail App中显示的VML块。 但是,它也将不显示 Outlook 2016.他们都认为他们是mso = 16。 (最后2个句子未经验证。)
部分解决方案B
https://litmus.com/community/discussions/4176-windows-10-mail-bulletproof-background-buttons-broken
答案 1 :(得分:0)
我知道这是个老问题,但它可能对仍在使用 Web、Windows Outlook 和 Windows 邮件苦苦挣扎的人有用。
我找到了一种专门从 Windows Outlook 和 Windows 10 邮件应用程序中隐藏元素的方法:
<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.