我希望有人能给我一些建议。我有一个CKEditor 3.6对话框,其中包含html类型的单个元素,并加载外部页面(或实际上它的body html内容)。该页面的样式表由MediaWiki 1.17资源加载器加载。我的问题是,CKEditor皮肤优先于我的样式表。在firebug中,我甚至可以禁用CKEditor样式,看看页面如何得到它的原始形状。是否有一种方法可以禁用CKEditor样式表为这个对话框或降低其优先级?或者其他解法吗?如有任何意见,我将不胜感激。
更新:所以更简单的问题是我如何删除继承CSS属性,打破我的设计?
请检查Firebug:
打开对话框窗口,右键单击包含外部内容的HTML元素,然后选择"Inspect element"。
在Firebug中,选择HTML面板,然后选择右侧的样式面板,并确保未选中"Only Show Applied Styles"选项。
查看样式窗格的右侧,每个样式块的源文件都显示在那里,您是否看到您的样式表(来自资源加载器)提供了一些样式?
样式表中的样式是否都有行来表示它们已被覆盖?
在过去,我使用来自HTML和样式窗格的信息来为样式创建更有针对性的选择器,您可以使用该方法覆盖编辑器样式。
请提供正在使用的代码:
外部HTML内容的结构是什么(包括任何类和id或样式)?
整个块是否包含在一个容器(div或table)中?
你的任何样式都是通过外部页面的<body>
标签定位的吗?
对于对话框代码,您可以去掉任何功能,除非它与.addClass()
相关。只需显示标签的结构,如下所示:
CKEDITOR.dialog.add( 'Plugin Name', function( editor )
{
return {
title : Plugin.title,
minWidth : 350,
minHeight : 230,
contents : [
{
id : 'TabId',
label : Lang.TabId,
title : Lang.TabId,
elements :
[
{
id : 'ElementId',
type : 'html',
label : Lang.ElementId,
title : Lang.ElementId,
style : 'text-align: center;',
html : '<div>' + Some Content + '</div>',
children :
[
查看代码会更容易回答你的问题。
Be Well,
乔