2010-08-01 60 views
6

我试图发送一些图像的电子邮件。如果我在网页上显示图像,它们是100x宽和100px高,但如果图像高于100px,则会隐藏多余的像素。溢出:隐藏不起作用的电子邮件

如果我尝试通过电子邮件发送它,我无法获取它以剪切图像的多余高度。
这里就是我送的电子邮件:

<img src="<?php echo base_url().$thumb;?>" style="border:1px solid #35538d;width:100px;height:100px;overflow:hidden;text-align:center;background-color:#f0f0f0;" rel="nofollow" alt="Profile Photo"> 

回答

8

这很可能是因为您尝试CSS只是不被你的电子邮件客户端支持。电子邮件客户端通常支持大大减少的HTML子集,并且只支持最小的CSS。编写HTML电子邮件时,往往是回到基本的情况 ... HTML表格布局等,以获得最大的支持。

编辑: IMO试图作物使用HTML/CSS将是不可能的,如果你想要这个跨所有电子邮件客户端工作的图像。可能有助于实现此目的的相关属性:背景图像,高度,溢出,剪辑等仅仅是不受支持的。所以,尽管它对一些人有用,但对其他人不会。

另一种可能是减少宽度,使高度始终为100px。您需要计算服务器端的宽度以保持适当的宽高比。

但是,我认为这可能是最好的解决方案是用PHP生成一个(nother)方形100px图像服务器端?

+0

好的我已经在使用表格和电子邮件是好的,只是图像不平方... – JEagle 2010-08-01 14:30:59

+0

_May be_固定表行/单元格的高度,'高度'属性,而不是内联样式?虽然展望可能是一个绊脚石。 – MrWhite 2010-08-01 14:37:02

+0

@ w3d尝试过,仍然可以处理较高的图像... – JEagle 2010-08-01 15:09:58

4

您可能想看看Guide to CSS support in email clients页面,了解哪些CSS属性可以或不能用于各种电子邮件客户端。

+0

谢谢,我使用gmail检查它,并且gmail与溢出正常... – JEagle 2010-08-01 14:35:34

3

为了使这项工作,你需要创建一个正方形的对象(Div或表),并将其中的图像作为背景图像。 如果你需要图像作为链接,你需要在它上面放置一个透明的gif。

1

对Outlook电子邮件客户端不支持Alan O'Rourke背景图像的支持。另外,如果您尝试使用背景图片,请务必将其作为内联样式,因为Gmail会将任何不包含内嵌的CSS剥离。