我正在尝试为用户在我的网站上注册时创建一封美观的电子邮件,但是我无法以通常的方式在图像上显示文本。相反,文本显示在图像下方。
我知道我不能使用 StyleSheets,并且我应该坚持使用 CSS 1.4..
我有一个正在拉伸(stretch)的背景图像(通过设置其宽度和高度),我想在该图像的顶部放置一些文本。在普通的html中,我可以使用css方法,例如float: left;位置:div float 在图像上的绝对位置。但这在 C# 代码中不起作用,因为它在大多数电子邮件客户端中都会被截断。
图像只有按以下方式写入才会显示:
<div style='width: 580px; font-family: Calibri; font-size:13px;'>
<img style='height: 45px; width: inherit;' src='http://www.somedomain.com/mail/background.png' />
Test
Test2
Test3
</div>
我尝试将上面的代码嵌入到样式中,但它根本不起作用。例如:
<div style='background:url(images/background.png); position: absolute; top:45px; width:550px; padding: 15px;'> SOME TEXT HERE </div>
或者
<div style='background-image:url(images/background.png); position: absolute; top:45px; width:550px; padding: 15px;'> SOME TEXT HERE </div>
或者
<table>
<tr>
<td style="background-image: url(background.png);">Testing Page</td>
</tr>
</table>
如果更改“background-image: url(background.png);”到“背景:红色;”它有效,但令人困惑!
如何才能使其在大多数电子邮件客户端中正常工作? (Gmail、Hotmail、Outlook、Thunderbird、Windows Mail 等)
感谢您提供的任何帮助:)
最佳答案
您可能应该在 Outlook 2007 中查看所有电子邮件。Microsoft 通过使用 MS Word 的呈现引擎,确实打破了电子邮件中 HTML 的功能。为此,Outlook 2007 无法识别背景图像。这是 MSDN on supported HTML in Outlook 。使用 Outlook 作为基准,因为它的支持是最基本的。
关于C# html 电子邮件 - Div/文本覆盖图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5642185/