Outlook中的HTML电子邮件渲染 - VML

时间:2012-08-02 14:22:27

标签: html email outlook html-email vml

我创建了一个HTML电子邮件,在Outlook 2007中查看时,我看不到一些图像,因为它们是背景。我已经使用VML完成了一些黑客操作,但它不会让我将高度值留空,因为它默认为100px,或者我不能将auto或百分比放入。背景图像需要能够根据文本大小调整大小,以便显示所有文本。

这是我工作的代码,除了高度值。

<td colspan="6" align="center" valign="top" style="background-image: url('http://example.com/content_centre.png');" background="http://example.com/content_centre.png">
     <!--[if gte mso 9]>
        <v:rect xmlns:v="urn:schemas-microsoft-com:vml" style="width:620px;height:200px;" strokecolor="none">
          <v:fill xmlns:v="urn:schemas-microsoft-com:vml" type="tile" color="#DDDDDD" src="http://example.com/content_centre.png" /></v:fill>
        </v:rect>
        <v:shape xmlns:v="urn:schemas-microsoft-com:vml" id="theText" style="position:absolute;width:620px;height:200px;">
    <![endif]-->
    <table cellspacing="0" cellpadding="0" border="0" style="width:100%;"><tr>
        <td width="30"></td>
        <td align="left" style="font-family:Arial, Helvetica, sans-serif; background:#ffffff; ">
            <p>This is where the text will appear. Doesn’t matter how much text it just stops displaying it.</p></td>
        <td width="30"></td>
    </tr>
    </table>
    <!--[if gte mso 9]>
        </v:shape>
    <![endif]-->
    </td>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

使用:

<v:image xmlns:v="urn:schemas-microsoft-com:vml" id="theImage" style='behavior: url(#default#VML); display:inline-block; position:absolute; height:200px; width:620px; top:0; left:0; border:0; z-index:1;' src="http://example.com/content_centre.png"/>

而不是:

<v:rect

然后在你的“v:shape”中将高度更改为“auto”,这在OL2007中对我有用。 记住我的例子是基于一个内容超过100px的区域所以我不确定它是否仍然默认为100px作为其最小值,如果你需要它少于那么在“v:”中设置一个最大高度形状“低于100px(但显然这会阻止缩放到内容)