提问人:Pekka 提问时间:11/14/2009 更新时间:11/14/2009 访问量:2867
重置页面某个区域的 CSS?
Reset CSS for a certain area of the page?
问:
我正在研究CMS。它的功能之一是在所见即所得的编辑器中编辑显示为单个页面的 HTML“块”。
我在CMS中有一个区域,可以预览这些块。
这些块依赖于加载到所见即所得编辑器中的“foundation.css”文件。它做了一些小的重置,定义了默认的字体和文本颜色,总体上非常简单。
显然,CMS带有大量的CSS语句,其中许多语句会影响常规设置,如字体大小,系列,颜色,行高,填充等。
当然,当我尝试在 CMS 页面中显示 HTML 块时,它看起来与仅使用 foundation.css 样式表显示时不同。
谁能想出一种方法来清除所有先前样式定义中 HTML 页面(例如 DIV)中的定义区域?我不能。
显示块并嵌入 foundation.css 的 Iframe 会有所帮助,但我担心用户的工作流程,因为必须渲染 5-10 个 IFrames,然后在加载后通过 JS 调整高度。呸。
我曾考虑过将所有其他 CSS “提升”到一个子类(即调整 CMS 的 CSS),但这涉及接触大量文件,其中一些可能是 PHP 源代码,我宁愿不这样做。
我不认为这有解决方案,但你永远不知道。
答:
有可用的 CSS Reset 样式表;也许你可以修改这些?
您可以为所有包含所见即所得编辑器代码的 div 一个类,然后重置该 div 中的所有内容。
评论
!important
除了GSto所说的之外,您还可以设置一些样式,例如
div.clearCss *
{
property: value !important
}
重置所有相关样式属性。 此样式应应用于将 clearCss 设置为其类的元素下的任何内容,因此您只需要将该类应用于父元素。
您是否在 CMS 中使用特定的所见即所得编辑器?我发现 Telerik RadEditor 将允许您在编辑器的实际编辑区域使用特定的样式表。您正在使用的编辑器也可能能够做到这一点。
祝你好运,希望这会有所帮助。
如果你以TinyMCE为例,他们也使用iframe,我认为他们和你有同样的问题。我在后端和某些页面上使用它 4 个 iframe。我没有看到任何性能问题。
使用 TinyMCE,可以压缩您需要的功能(在 PHP、JSP、.NET 和 Coldfusion 中),这为您提供了极大的速度提升。
三思而后行,如果您编写了自己的所见即所得编辑器,其他编辑器都经过了充分的测试,并且具有几乎可以满足所有需求的非常好的插件。
上一个:提取数组部分的快速方法?
下一个:按属性筛选 XML 中的结构
评论