0

我正在开发 CMS。它的功能之一是在 WYSIWYG 编辑器中编辑 HTML“块”,这些“块”显示为单独的页面。

我在 CMS 中有一个区域可以预览这些块。

这些块依赖于加载到所见即所得编辑器中的“foundation.css”文件。它做了一些小的重置,定义了默认字体和文本颜色,并且总体上非常简单。

显然,CMS 带有大量 CSS 语句,其中许多会影响一般设置,如字体大小、系列、颜色、行高、填充等。

自然,当我尝试在 CMS 页面中显示 HTML 块时,它看起来与仅使用 Foundation.css 样式表显示时不同。

任何人都可以想出一种方法来从所有以前的样式定义中清除 HTML 页面中的定义区域(例如 DIV)吗?我不能。

  • 显示块和嵌入foundation.css 的Iframe 会有所帮助,但是当必须渲染5-10 个IFrame 并在加载后通过JS 调整高度时,我担心用户的工作流程。呸。

  • 我曾考虑过将所有其他 CSS “提升”到一个子类(即调整 CMS 的 CSS),但这会涉及到很多文件,有些可能是 PHP 源代码,我宁愿不这样做。

我认为这没有解决方案,但您永远不知道。

4

5 回答 5

2

有可用的CSS 重置样式表;你可以修改那些,也许?

于 2009-11-13T20:04:29.357 回答
1

您可以为所有包含 WYSIWYG 编辑器中的代码的 div 赋予一个类,然后重置该 div 内的所有内容。

于 2009-11-13T20:05:18.527 回答
0

除了 GSto 所说的之外,您还可以设置一些样式,例如

div.clearCss *
{
  property: value !important 
}

重置所有相关的样式属性。此样式应适用于将 clearCss 设置为类的元素下的任何内容,因此您只需将该类应用于父元素。

于 2009-11-13T20:12:27.357 回答
0

您是否在 CMS 中使用特定的 WYSIWYG 编辑器?我发现 Telerik RadEditor 将允许您将特定样式表用于编辑器的实际编辑区域。您正在使用的编辑器也可能能够做到这一点。

祝你好运,希望这能帮到你。

于 2009-11-13T20:17:41.113 回答
0

如果你以TinyMCE为例,他们也使用 iframe,我认为他们和你有同样的问题。我在后端和某些页面上使用它 4 iframe。我没有看到任何性能问题。

使用 TinyMCE 可以压缩您需要的函数(在 PHP、JSP、.NET 和 Coldfusion 中),这为您提供了极大的速度提升。

三思而后行,在你编写自己的所见即所得编辑器之前,其他的都经过了很好的测试,并且有一堆非常好的插件可以满足几乎所有的需求。

于 2009-11-13T20:24:39.383 回答