使用 Campaign Monitor 发送电子邮件,有什么方法可以消除垂直对齐表格中文本上方的 5px 空白吗?

发布于 2024-12-18 21:54:12 字数 1168 浏览 2 评论 0原文

发送大量电子邮件,几乎所有事情都在表格内。

CSS 影响表格:

.title  {
vertical-align: top;
}

HTML:

<table width="580" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="title" align="left" width="440" valign="top">
<h2><singleline label="Title">Enter your title</singleline></h2>
<p><multiline label="Description">Description</multiline></p>


</td>

<td align="left" valign="top" width="20"><img src="/images/00.gif" height="1" width="20" border="0"></td>

<td align="left" valign="top" width="120"><img src="/images/001.jpg" editable="true" label="Image" width="120" border="0"></td>
</tr>
<tr>
<td colspan="3" align="left" valign="top" width="580"><img src="/images/00.gif" height="20" width="1" border="0"></td>
</tr>
</table>

我需要标签内的文本与表格顶部齐平。目前 /images/001/jpg 是齐平的,但文本位于表格边缘下方 5 个像素处。

我在CSS中使用vertical-align:top,尝试过border-spacing:none,border-collapse:collapse和border:none。他们都没有解决问题。

使用边距顶部:-5px;标签上的 解决了标准浏览器测试中的问题,但某些电子邮件客户端不支持。

Sending out mass emails, pretty much the whole thing is inside tables.

CSS affecting the table:

.title  {
vertical-align: top;
}

HTML:

<table width="580" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="title" align="left" width="440" valign="top">
<h2><singleline label="Title">Enter your title</singleline></h2>
<p><multiline label="Description">Description</multiline></p>


</td>

<td align="left" valign="top" width="20"><img src="/images/00.gif" height="1" width="20" border="0"></td>

<td align="left" valign="top" width="120"><img src="/images/001.jpg" editable="true" label="Image" width="120" border="0"></td>
</tr>
<tr>
<td colspan="3" align="left" valign="top" width="580"><img src="/images/00.gif" height="20" width="1" border="0"></td>
</tr>
</table>

I need the text inside the tag to be flush with the top of the table. Currently the /images/001/jpg is flush, but the text is 5 pixels below the edge of the table.

I'm using vertical-align: top in the CSS, have tried border-spacing: none, border-collapse: collapse, and border: none. None of them solved the problem.

Using margin-top: -5px; on the tag solved the problem in standard browser testing, but wasn't supported by some email clients.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

旧情勿念 2024-12-25 21:54:12

我是 Campaign Monitor 的 Ros。不完全明显的是和<多行>标签转换为

您的内容

...当导入到 Campaign Monitor 编辑器中时。就是这些

创建此额外填充的标记 - 这里有一个示例

避免这种情况的最简单方法是添加 p { margin: 0;填充:0; } 到你的 CSS 样式。

希望这能为您解决这个问题。请注意,我们有一个论坛来回答此类问题,因此请随时在其中发布您的模板代码未来。

非常感谢所有在这里做出贡献的人!

this is Ros from Campaign Monitor. What isn't entirely obvious is that the <singleline> and <multiline> tags convert into <p>your content</p>

...when imported into the Campaign Monitor editor. It's these <p> tags that are creating this extra padding - here's an example.

The easiest way to avoid this is to add p { margin: 0; padding: 0; } to your CSS styles.

Hopefully this fixes this issue for you. Note that we have a forum for answering questions like this, so feel free to post your template code there in the future.

Many thanks to everyone who contributed here!

送舟行 2024-12-25 21:54:12

Ros 的建议在大多数情况下就足够了,但 Gmail 会删除您的标头样式,从而使插入的 p 标签保留 Gmail 的默认页边距顶部和底部。

解决此问题的另一种方法是在多行标记中添加 div 标记。这将成功阻止 Campaign Monitor 用 ap 标签包装您的内容。

这是一个结构示例:

<multiline>
    <div>
        Your Content Goes Here.
    </div>
</multiline>

Ros' suggestion suffices most of the time, but Gmail removes your header styles which leaves the inserted p tags with gmail's default margin top and bottom.

An alternative to get around this is by adding a div tag within your multiline tag. This will successfully prevent Campaign Monitor from wrapping your content with a p tag.

Here is a structure example:

<multiline>
    <div>
        Your Content Goes Here.
    </div>
</multiline>
尐籹人 2024-12-25 21:54:12

戴上

valign="top"

你的 TD 来记录文本。如果电子邮件客户端无法识别 CSS,它应该识别标准 HTML 属性。

另外,如果这不能解决问题,您可以编辑您的 Q 并添加您在该 .

Put

valign="top"

on your TD for the text. If the email client doesn't recognize CSS it should recognize the standard HTML attribute.

Also, if that doesn't fix it, can you edit your Q and add the definition for "title" CSS definition that you are using on that .

去了角落 2024-12-25 21:54:12

我假设您指的是 H2 标签内的文本。

创建一个类,

.noPad  {
padding-top: 0px;
}

或者不使用 H2,而仅使用 span 或 div 元素。

I'm assuming your referring to the text inside the H2 tag.

Create a class for the <h2>

.noPad  {
padding-top: 0px;
}

Or don't use the H2 and just use a span or div element.

掐死时间 2024-12-25 21:54:12

它可能只是文本的行高,而不是边距/填充 - 也检查一下

It could just be the line-height of the text as opposed to margin/padding - check that as well

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文