当使用使用Word引擎的Windows 10邮件客户端(我假设为Outlook 2007 +也是)编写的代码打开html邮件时,我可以看到正确渲染的所有图像(img标签)或vml语言控件。但是,当我第二次打开同一封电子邮件或调整Windows 10邮件窗口大小时,经常会看到一些控件图像丢失。由于调整了已加载的电子邮件窗口的大小,因此似乎与通过Internet加载元素的某些延迟没有任何关系,尤其是vml控件不使用任何外部资源。 html邮件代码基于表格。这是一个示例代码,其中有时包含可见或不可见的元素:
<table cellpadding="0" cellspacing="0" width="273" border="0" style="padding:0;border-collapse:collapse; border-spacing: 0px;">
<tr>
<td width="273" valign="middle" align="center" bgcolor='#f7941d' style="background: #ffffff">
<!--[if gte mso 12]>
<v:roundrect xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w="urn:schemas-microsoft-com:office:word" href="https://example.com/" style="height:46px;v-text-anchor:middle;width:273px;" arcsize="15%" strokecolor="#f7941d" fillcolor="#f7941d">
<w:anchorlock/>
<center><font size="4" color="white" face="Verdana,sans-serif" style="text-decoration:none;font-size: 20px;line-height: 46px"><b>BUTTON TEXT <font class="greaterthan" style="position: relative;top: -1px;">></font></b></font></center>
</v:roundrect>
<![endif]-->
<a href="https://example.com/" style="text-decoration:none;display:block;color: #fff;background: #f7941d;padding-top: 5px;padding-bottom: 5px;border-radius: 10px;"><font size="5" color="white" face="Verdana,sans-serif" style="text-decoration:none;font-size: 20px;line-height: 46px;mso-hide:all;"><b><font style="display:none;"> </font>BUTTON TEXT <font class="greaterthan" style="position: relative;top: -1px;">></font><font style="display:none;"> </font></b></font></a>
</td>
</tr>
<tr><td height="30"></td></tr>
</table>
这个问题对于每个考虑到Outlook 2007+的人来说似乎都很重要。
谢谢。
答案 0 :(得分:0)
嗯,这个答案可能还不够,但就我而言,当VML按钮到达位置:相对时,它就很有帮助-我什至没有看到它显示不正确。但是对于Windows 10邮件,您不能使用position:相对于非VML元素,因此可以帮助某人尽可能简化她/他的代码的原因-元素的散布可能不那么频繁(如我的情况),使用较少的嵌套元素可能有帮助。这是我到目前为止注意到的。如果没有任何效果,也可以用不同的方式从头开始编写一段代码。
请记住,在某些情况下,对vml元素使用position可能不会按预期的方式放置元素。但是我通过vml按钮获得了成功。位置:相对;顶部:1px;这就是我所做的。