2

图像丢失了第一行像素,但仅在某些情况下。示例标记:

<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td valign="top" height="20">
            <div style="line-height:0;"><img src="http://path.to/image.png" alt="" height="20" width="25" /></div>
        </td>
    </tr>
</table>

我的印象是,既然<img>是内联元素,它应该包含在块级元素中。这就是为什么我把我<img>的包裹起来<div>。但这导致了一个问题,即文本悬垂导致我<div>太高。所以我将 line-height 设置为 0 作为解决方法。

无论heightvalign我在<td>或上设置什么<img>,图像的顶部仍然被切断。我发现删除行高就是答案。为什么是这样?

我将来会在我的<img>标签上使用 display: block 。

4

2 回答 2

3

<div>根据您使用的电子邮件客户端,您会受到不同的对待。电子邮件客户端的 IE 是 AOL(但是,谁再使用它了)。我认为chipcullen是对的,你想多了。为什么要添加不必要的代码。试试这个(在 TD 内没有线路重复):

<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td><img src="http://path.to/image.png" alt="" height="20" width="25"></td>
    </tr>
</table>

或者,如果您真的必须定义高度:

<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td height="20" style="height:20px;line-height:20px;"><img src="http://path.to/image.png" alt="" height="20" width="25"></td>
    </tr>
</table>

希望有帮助!

于 2012-07-18T17:33:02.810 回答
3

当在营销活动中插入非常长的图像时,Outlook 中会出现这种情况。图像长度的限制约为 1728 像素高。Outlook 将剪掉高于 1728 像素的图像顶部的多余部分。

如果您无法将图像的尺寸减小到 1728 像素以下,最好的选择是将图像裁剪成单独的图像。如果使用拖放模板,您可以将多个图像块添加到广告系列以上传图像的每个部分。要确保图像显示为一个流畅的图像,请导航到每个图像块的设置选项卡,然后选中边距下的边缘到边缘复选框。

于 2014-10-14T11:16:30.467 回答