【问题标题】:How to provide padding/margin on a text on top of an image in Outlook 2010, Outlook 2007, Outlook 2013?如何在 Outlook 2010、Outlook 2007、Outlook 2013 中的图像顶部的文本上提供填充/边距?
【发布时间】:2015-04-24 12:40:54
【问题描述】:

我正在尝试在图像顶部添加文本,如下所示。它适用于除 Outlook 2010、Outlook 2007、Outlook 2013 之外的所有电子邮件客户端。这三个客户端都忽略了填充。我到处找都试过了:(请帮我把文字放在图像顶部,这样它就剩下 147px 和 107px 顶部填充/边距/?

最终解决如下:

 <tr>
        <td background="yourimage.gif" bgcolor="#c0393f" width="600" height="240" valign="top" style="background:url('yourimage.gif')">
            <!-- M$ hack for table background images -->
            <xsl:comment>
                <![CDATA[[if gte mso 9]>
                    <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" color="#c0393f" style="width:600px;height:240px;">
                    <v:fill type="frame" src="yourimage.gif" />

                    <v:textbox inset="107px,147px,0px,0px" id="headerTitle">
                    <![endif]]]>
            </xsl:comment>
            <font style="color:#c9be8a;font-weight:700;font-size:19px;width:300px;text-transform:uppercase;">
                <div style="color:#c9be8a;font-weight:700;font-size:19px;width:300px;text-transform:uppercase;padding:147px 0px 0px 107px;">
                    Your Text
                </div>
            </font>
           <xsl:comment>
                <![CDATA[[if gte mso 9]>
                    </v:textbox>
                    </v:rect>
                    <![endif]]]>
            </xsl:comment>
        </td>
    </tr>

【问题讨论】:

    标签: html css outlook html-email outlook-2010


    【解决方案1】:

    在 Outlook 中忽略了 div 填充。最好的办法是在 div 中插入一个表格,然后在其中填充 TD。

    您的代码中还有一些其他错误,我在下面进行了更改,但这在 Outlook 中有效。我还建议使用 padding-top 等,而不仅仅是填充,因为我发现它在电子邮件客户端中被更广泛地接受和一致。

         <table width="640" height="240">
    <tr>
    <td background="http://www.swagatobhatta.info/emailtest/header.gif" width="600" height="240" valign="top">
      <!--[if gte mso 9]>
      <v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="width:600px;height:240px;">
        <v:fill type="tile" src="http://www.swagatobhatta.info/emailtest/header.gif" />
        <v:textbox inset="0,0,0,0">
      <![endif]-->
      <div>
       <table width="400" align="right" cellpadding="0" cellspacing="0" border="0" style="color:#c9be8a;font-weight:700;font-size:19px;width:400px;">
            <tr>
            <td style="text-transform:uppercase;padding-top:107px; padding-left:147px;">TEST CONTENTS TEST CONTENTS TEST CONTENTS</td></tr>
            </table></div>
      <!--[if gte mso 9]>
        </v:textbox>
      </v:rect>
      <![endif]-->
    </td>
                            </tr>
                        </table>
    

    【讨论】:

    • 您有一个结束字体标签,但没有开口。这是故意的吗?
    • 是个错误。我从他的原版中删除了字体标签,一定错过了一个closign 。将编辑要删除的答案。
    • 嗨,。感谢您的回复。我更新了我的代码以尝试反映您的更改。例如,不知何故,我已经完全丢失了 Outlook 2010 的文本……我想我要疯了。请帮忙
    • 稍微调整了一下,并使用防弹背景 (backgrounds.cm) 模板重新制作了 VML。
    • 再次感谢。但是,我最大的问题是代码需要驻留在 xsl 文件中。因此需要 CDATA。文本需要大约从顶部 padding-top:107px; padding-left:147px ..你可能有什么工作..但是,对我不起作用..除非包装在 CDATA 中。我真的对这个 XSL/电子邮件的东西感到困惑
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2014-06-21
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多