CK编辑器,使用custom.css下拉列表中的自动设置样式

时间:2013-01-15 10:13:56

标签: ckeditor

我遇到了CK4的问题,并且在样式 - 下拉列表中反映了标题的样式。

.css应该与back和frontend共享,并使用#page作为css-id

有没有办法告诉下拉列表使用#page-prefix解析标题。

我正在使用

 CKEDITOR.config.bodyId = 'page';

和css

.cke_editable {
}

#page {
    /* works - editor area goes black..
    font-family:Arial;
    margin:10px;
    font-family:Arial;
    background-color:#000;
    font-size: 10px;
    color:#fff;

}

#page h1 {
   /* works in editor-area, but not dropdown */
    font-family: Verdana;
    color:#999;
}

.cke_editable h2 {
  /* same as h1.. */
    font-family:Arial;
    color:#f00;
    font-size:16px;
    background-color:#999;
}

h3 {
   /* work BOTH in editor and style shows in dropdown. */
    color:#0f0;
}

3 个答案:

答案 0 :(得分:0)

我猜您将要使用stylesheetparser插件来解析其他选择器。此问题已在此处得到解答:CKEditor - Stylesheet Parser - Valid Selectors

这不是直截了当但我相信你会设法做到这一点。祝你好运!

答案 1 :(得分:0)

问题是CKEditor不会将bodyId和/或bodyClass应用于样式组合:http://dev.ckeditor.com/ticket/7452

正如您所看到的那样,大约两年前就会报告错误,并且大部分时间都没有开发人员的活动。

答案 2 :(得分:0)

我通过解析css实现了一个有效的解决方案,例如

 #page h1 {...}

当附加到CK时:

['config']['css'] = 'parseMyCss.php?theFile=style.css

和parseCs(简化):

$s = file_get_contents($theFile);
$s = str_replace('#page ','', $s);
header('content-type:text/css');
echo $s;