我正在研究CMS。它的功能之一是Wysiwyg编辑器中HTML“块”的编辑,该编辑显示为单个页面。

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

这些块依赖于加载到Wysiwyg编辑器中的“ Foundation.css”文件。它进行一些小重置,定义默认字体和文本颜色,总体上非常简单。

显然,CMS带有大量的CSS语句,其中许多都会影响字体尺寸,家庭,颜色,线条高,桨等等一般设置。

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

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

  • 显示块和嵌入粉底的iframe会有所帮助,但是我担心在必须渲染5-10个IFRAME时用户的工作流程,然后在加载后通过JS进行调整。 y

  • 我已经考虑过将所有其他CSS升级到子类(即调整CMS的CSS),但这将涉及触摸很多文件,有些可能是PHP源代码,我宁愿不这样做。

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

有帮助吗?

解决方案

您可以将包含Wysiwyg编辑器代码的所有DIV提供一个类,然后重置该Div内部的所有内容。

其他提示

CSS重置 可用样式表;您可以修改这些?

加上GSTO所说的内容,您可以设置一些样式

div.clearCss *
{
  property: value !important 
}

所有相关样式属性重置。此样式应适用于具有ClearCSS集类别的元素下的任何内容,因此您只需要将该类应用于父元素即可。

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

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

如果你服用 Tinymce 例如,他们还使用一个iframe,我认为他们遇到了与您相同的问题。我在后端和某些第4页IFRAME中使用它。我看不到任何性能问题。

借助Tinymce,可以压缩所需的功能(在PHP,JSP,.NET和ColdFusion中),这为您提供了很好的速度。

三思而后行,您编写自己的Wysiwyg编辑器,其他编辑者经过了很好的测试,几乎可以满足所有需求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top