2013-04-16 66 views
2

我正在开发一个几乎充当基于Web的电子邮件客户端的系统。这是一个支持台系统。系统显示收到的电子邮件;想想一个基于Web的电子邮件客户端。现在我的问题是,有可怕的Microsoft Word格式化的样式元数据影响了应用程序的其余部分。从网站的其余部分分离html内容

我已经尝试了iframe,但调整内容的高度并不正常;我真的不想使用iframe。

我可以使用什么模式或练习来隔离前端显示的电子邮件html,以便它不会影响应用程序的其余部分?我的意思是,Gmail,Yahoo Mail如何支持桌面或CRM系统?

+0

它是影响您的网站的HTML吗?或者是内联CSS是否弄乱了文档的其余部分? – Lowkase

+0

除了将源代码包含在iframe中,或者对输出进行超级消毒(消除大部分HTML属性和CSS属性,这是webmail应用程序的功能),我不认为有办法做到这一点。 – darma

+0

你可以包装你自己的代码,所以你可以使用'.my_wrapper.my_class'来设计风格。然后邮件风格不会影响你的'自己的东西'。 –

回答

1

几种方法 - 顺便说一句,我在开发SharePoint站点时遇到了同样的问题,因为主样式影响我的样式,而我无法访问主页面。

  1. 包装你的代码,并使用ID选择来缩小您需要的款式元素
  2. 使用!important - 我不推荐此方法,因为它不是一个最佳实践

示例HTML :

<div id="wrapper"> 
    <p class="email-par">Some text</p> 
</div> 

CSS:

#wrapper .email-par{ 
    font-size: 1.1em; 
} 

因此,即使在您的网站上有其他风格影响<p>标签,电子邮件段落也会采用上述样式。

-1

在您的html上使用强ids,然后为您的电子邮件创建一个CSS文件。我建议你使用!重要的,如果一些的SharePoint风格仍然覆盖您的样式

一旦你有你自己的CSS文件与SharePoint设计母版页库(_catalogs/mastrpage)

调用它的头复制您的母版页的区域如下面的示例

+0

'!important'是坏的魔咒,它击败了级联样式表的“级联”,并且使得样式变得更加困难。 – Adrian