图像或VML Windows 10 Mail / Outlook 2007+随机消失调整窗口大小

时间:2018-07-30 16:16:13

标签: html image outlook rendering vml

当使用使用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;">&gt;</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;">&nbsp; &nbsp;</font>BUTTON TEXT <font class="greaterthan" style="position: relative;top: -1px;">&gt;</font><font style="display:none;">&nbsp;&nbsp;</font></b></font></a>
        </td>
    </tr>
   <tr><td height="30"></td></tr>
</table>

这个问题对于每个考虑到Outlook 2007+的人来说似乎都很重要。

谢谢。

1 个答案:

答案 0 :(得分:0)

嗯,这个答案可能还不够,但就我而言,当VML按钮到达位置:相对时,它就很有帮助-我什至没有看到它显示不正确。但是对于Windows 10邮件,您不能使用position:相对于非VML元素,因此可以帮助某人尽可能简化她/他的代码的原因-元素的散布可能不那么频繁(如我的情况),使用较少的嵌套元素可能有帮助。这是我到目前为止注意到的。如果没有任何效果,也可以用不同的方式从头开始编写一段代码。

请记住,在某些情况下,对vml元素使用position可能不会按预期的方式放置元素。但是我通过vml按钮获得了成功。位置:相对;顶部:1px;这就是我所做的。