【问题标题】:Outlook 2007/2010/2013 Email display issueOutlook 2007/2010/2013 电子邮件显示问题
【发布时间】:2013-10-21 23:10:51
【问题描述】:

我遇到的问题如下图所示。左列中的图标在 Outlook 2007、2010 和 2013 中未正确垂直对齐。我尝试使用 line-height/font-size 无济于事。

我已经绘制了表格单元格/行边框来说明我正在使用的结构。每个图标都有padding-top:5px,以便与右栏中的文本正确对齐。

这是一行的代码:

<tr>
    <td class="icon" width="59" valign="top" style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 1em;color: #666666;padding-top: 5px;margin: 0;"><img src="http://bangcampaign.com.au/McAfee/MCA6208/EDM/images/icon1.jpg" width="59" height="34" alt="Data held to ransom" style="display: block;border: none;"></td>

    <td class="green" width="266" style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;line-height: 22px;color: #008e81;">1 in 3 Australian SMBs have had their 
    data held to ransom in the last 12 months*.</td>
</tr>

有什么想法吗?

【问题讨论】:

    标签: html css email outlook outlook-2007


    【解决方案1】:

    如果 padding-top 不适用于 td,请尝试将 css 应用于 img 本身。编辑您的 img 的 css(请参阅下面的代码)。移除 td 的 padding-top。

    <tr>
        <td class="icon" width="59" valign="top" style="font-family: Arial, Helvetica, sans-serif;font-size: 13px;line-height: 1em;color: #666666;"><img src="http://bangcampaign.com.au/McAfee/MCA6208/EDM/images/icon1.jpg" width="59" height="34" alt="Data held to ransom" style="display: block;border: none;margin-top: 5px;"></td>
    
        <td class="green" width="266" style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;line-height: 22px;color: #008e81;">1 in 3 Australian SMBs have had their 
    data held to ransom in the last 12 months*.</td>
    </tr>
    

    如果为 img 提供上边距仍然不起作用,请尝试将其换成 padding 甚至使用border-top(边框宽度为 5px)

    【讨论】:

    • 用透明边框交易上边距怎么样? border-top 可能会起作用(我在创建电子邮件模板时做了很多这样的黑客攻击)
    【解决方案2】:

    为什么不在包含图像的表格单元格中使用valign="middle"

    <tr>
      <td class="icon" width="59" valign="middle">
        <img src="http://bangcampaign.com.au/McAfee/MCA6208/EDM/images/icon1.jpg" width="59" height="34" alt="Data held to ransom" style="margin: 0; border: 0; padding: 0; display: block;">
      </td>
      <td class="green" width="266" style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;line-height: 22px;color: #008e81;">
        1 in 3 Australian SMBs have had their data held to ransom in the last 12 months*.
      </td>
    </tr>
    

    更新:如果您有更多文本,这是一个示例。您的图片将保持在顶部对齐。

    <table width="325" border="0" cellpadding="0" cellspacing="0">
    <tr>
      <td class="icon" valign="top" width="59" valign="middle" style="padding-top:5px;">
        <img src="http://bangcampaign.com.au/McAfee/MCA6208/EDM/images/icon1.jpg" width="59" height="34" alt="Data held to ransom" style="margin: 0; border: 0; padding: 0; display: block;">
      </td>
      <td valign="top" class="green" width="266" style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;line-height: 22px;color: #008e81;">
        1 in 3 Australian SMBs have had their data held to ransom in the last 12 months*.<br>
        1 in 3 Australian SMBs have had their data held to ransom in the last 12 months*.<br>
        1 in 3 Australian SMBs have had their data held to ransom in the last 12 months*.
      </td>
    </tr>
    </table>
    

    【讨论】:

    • 我只是在考虑右侧文本占用超过 2 行的情况,在这种情况下,图标将无法正确对齐。鉴于情况并非如此,我将尝试您的建议。
    • 使用此方法的垂直偏移量略小,但仍然存在。它与行高/字体大小有关 我几乎可以肯定,我似乎无法找到正确的组合。男人的前景是一种痛苦。
    • @FuriousD 添加了第二个示例