2010-09-16 59 views
1

编码html新闻稿,并在gmail中遇到了奇怪的事情。代码:gmail中的html新闻稿

<table cellpadding="0" cellspacing="0" width="700" height="122"> 
       <tr> 
        <td valign="top" colspan="3" width="689" height="8"><img src="http://www.url.com/img/product_top_border.gif"></td> 
       </tr> 
       <tr>      
        <td valign="top" width="12" height="106"><img src="http://www.url.com/img/product_left_border.gif"></td> 
        <td valign="top" height="106" width="689"> 
         some content 
        </td> 
        <td valign="top" width="12" height="106"><img src="http://www.url.com/img/product_right_border.gif"></td> 
       </tr> 
       <tr> 
        <td valign="top" colspan="3" width="689" height="8"><img src="http://www.url.com/img/product_bot_border.gif"></td> 
       </tr> 
      </table> 

Gmail的截图:

In other email clients

任何提示:从其他电子邮件客户端

gmail

截图?

您的帮助,将不胜感激。

+0

这些截图看起来非常相似,你在找什么? – Rudu 2010-09-16 19:02:39

+0

你正在看字体差异还是虚线图像?这两个截图是用同一浏览器拍摄的吗? – funkymushroom 2010-09-16 19:04:11

+0

休息可能来自白色/透明边框(也尝试边框= 0)。有时它们也会因为''和下一个''之间的换行符而呈现,因为它们之间没有空格,所以尝试合并为''。通常,这些细微差异来自不同的浏览器。 – Rudu 2010-09-16 19:06:21

回答

4

这是一个浏览器问题。当您将图像放入表格中时,图像应为是内联元素,位于文本行中。这意味着它下面会有空格(对于低于基线的文本行的部分,即下行),并且GMail的渲染是“正确的”。

但是,在Quirks mode以及“几乎标准”模式下,单元格中单独显示的图像表现为块而不是内联元素,因此不会获得额外的间距。它看起来像'其他'客户端处于怪癖模式,因为它重置了表内的字体大小(典型的怪癖模式错误)。

通常你想避免怪癖模式不惜一切代价,所以你会使用标准模式,通过设置CSS display: blockvertical-align: -anything,但基线的<img>元素修复了IMG-表内的问题,或,更好的是,转储丑陋的布局表并使用一些背景图片。但是,当然在电子邮件中,您的造型机会受到严格限制。

所以是的,试着在图像上设置style="display: block",试图让它们在Quirks vs标准中显示相同的内容,但请注意,这是处理HTML邮件时遇到的最少问题。你将面临比这更严重的破损。 HTML电子邮件完全吸引每个级别;如果您有机会摆脱它,只需将链接邮寄到适当的网页,然后执行此操作。

+0

感谢bobince;)作品般的魅力:)所以,我改变我的形象HTML行:再次 感谢;) – Bounce 2010-09-21 19:23:26

+0

感谢。设置图像'显示:块'也解决了我。希望我在4小时前发现此帖子:) – coryetzkorn 2012-05-16 21:49:08

0

关于字体的变化,它有点像'其他客户端'可能会显示非HTML体,我认为gmail默认支持HTML。

您是否将内容数据设置为HTML? 例如在C#中,您可能需要设置:

MailMessage mail = new MailMessage(); 
mail.IsBodyHtml = true;