2011-09-22 45 views
3

我希望有人可以给我一些想法。 我有一个CKEditor 3.6对话框,它包含一个html类型的单个元素并加载一个外部页面(或者实际上它是body html内容)。该页面的样式表由MediaWiki 1.17资源加载器加载。我的问题是,CKEditor皮肤优先于我的样式表。在firebug中,我甚至可以禁用CKEditor样式并查看页面如何获得原始形状。 有没有办法可以禁用此对话框的CKEditor样式表或降低其优先级? 或者任何其他方式来解决这个问题? 任何想法将不胜感激。如何禁用CKEditor对话框皮肤?

更新:如此简单的问题是如何移除破坏我的设计的继承CSS属性?

回答

1

请使用Firebug检查一番:

打开对话窗口,并在包含外部内容的HTML元素点击右键,然后选择“检查元素”。

在Firebug中,选择HTML面板,然后选择右侧的样式面板,并确保“仅显示应用样式”选项未选中。

看样式窗格右侧显示每个样式块的源文件,您是否看到样式表(来自资源加载器)提供了一些样式?

样式表中的样式是否都有通过它们的线条来指示它们已被覆盖?

在过去,我用从HTML和样式面板中的信息,以样式创建更有针对性的选择,你可以为忽略使用这种方法的编辑样式。


请提供的代码被用于:

什么是外部HTML内容(包括任何class和id或样式)的结构?

是否将整个块封闭在容器(div或表)中?

您的任何样式都是通过外部页面的<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 : 
      [ 

查看代码可以更轻松地回答您的问题。

好的,
Joe