2009-07-15 72 views
1

我写了一个webmail产品和一些电子邮件有身体css,改变背景...所以当我Html.Decode()该emailbody,它正在改变整个页面的CSS。在网页中显示网页的最佳方式?

有没有一种很好的方法来解决这个问题?

回答

5

你可以让你的CSS比电子邮件的规则更具体。例如:

body.body.bodybody

在body.body与那些在上面的实施例较少发生冲突的任何样式更具体地,将覆盖。但要停止这些样式合并,您需要定义每种样式。

或者,您可以在电子邮件中重写CSS,这是大多数网络邮件/桌面电子邮件客户端最近使用的方式,无论如何。例如,如果您以#emailMessage为前缀,并将电子邮件放在<div id="emailMessage"></div>标记中,则电子邮件中的所有样式将仅应用于该名称空间内。

使用iframe来显示电子邮件只会引入更多基于可访问性等问题。祝您好运。

1

常见的方法是使用iframe,但我不确定这适用于您的问题。

基本上它会在另一个页面中加载不同的html页面。这使得它是独立的,但它意味着你有2页来显示一个电子邮件。

http://www.w3schools.com/TAGS/tag_iframe.asp

4

回答你问题可能是“IFRAME”,但在你的具体情况,编写一个Web邮件客户端会向你介绍所谓的“从可能非常无效剥离CSS一个美好的新地狱由各种各样的客户产生的html,他们都有自己的想法,应该在电子邮件中允许使用哪种html。“

祝你好运!

+0

而且你也不会忘记安全! – 2009-07-15 10:30:32

+0

好点 - 我会把两者都考虑进去。再次感谢 – 2009-07-15 12:26:01