我如何改变编辑器iframe CSS样式



我无法弄清楚如何修改CKeditor iframe的body CSS样式。我已经尝试了一堆基于各种潜在的解决方案围绕网络的选项,但我不是很熟悉CKeditor的API,这使得事情相当困难。这是CKeditor 4.4.3.

您可以在以下JSfiddle中看到各种尝试(注释):

http://jsfiddle.net/KS3p4/1/

CKEDITOR.stylesSet.add( 'style_updates', [
    // ATTEMPT 1
    // Block-level styles...this is for the dropdown menu (not shown in current config)
    { name: 'Body Margin Fix', element: 'body', styles: { margin: '10px' } }
]);
editor = $('textarea').ckeditor( function(editor){
    // ATTEMPT 2
    //callback `this` refers to CKEDITOR.editor
    this.ckeditorGet().addCss('body { margin:10px; }')
}, {
    // ATTEMTP 3
    addCss: 'body { margin:10px; }',
    stylesSet: 'styles_updates',
    uiColor: '#FFFFFF',
    scayt_autoStartup: true,
    autoGrow_onStartup: true,
    enterMode: CKEDITOR.ENTER_BR,
    removePlugins: 'elementspath, resize',
    toolbar: [
        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ], items: [ 'Bold', 'Italic', 'Underline' ] },
        { name: 'clipboard', groups: [ 'clipboard', 'undo' ], items: [ 'PasteFromWord', 'Undo', 'Redo' ] },
        { name: 'links', items: [ 'Link', 'Unlink' ] },
        { name: 'editing', groups: [ 'spellchecker' ], items: [ 'Scayt' ] },
        { name: 'tools', items: [ 'Maximize' ] }
    ]
// ATTEMPT 4
}).ckeditorGet().addCss('body { margin:10px; }');

编辑位于CKEditor主目录中的contents.css文件或使用config.contentsCss设置加载不同的文件

我看到你把样式系统设置和内容样式混淆了。这是两件完全不同的事情——样式系统负责在选定的内容上应用和删除"样式"——它被样式和格式下拉框以及粗体或斜体按钮所使用——它们都是"样式"。

对于CKEDITOR.addCss() -此方法主要由插件使用,并且必须在创建编辑器之前使用。实际上,它的文档就是这么说的,并且提到您应该使用contents.css;)。

确认在CKEditor 4.5.9中,我能够通过config.js简单地添加一些需要的自定义覆盖CSS样式(因此不太可能在将来更新CKEdtor版本时意外覆盖)

我补充说:

// Add override CSS styles for inside editable contents area.
CKEDITOR.addCss( '.cke_editable { font-size: 14px; } @media screen and (max-device-width: 767px) and (-webkit-min-device-pixel-ratio:0) { .cke_editable { font-size: 16px !important; } }' );

在现有的CKEDITOR.editorConfig = function( config ) { ... }节中:

  1. 覆盖CKEditor的默认。cke_editable内容区正文字体大小从13px到14px -以匹配我的其他Bootstrap表单字段的字体大小。
  2. 指定在iPhone上查看时,.cke_editable字体大小应该增加到16px,以防止iOS放大到超过100%的我已经移动优化的页面布局。

这意味着我不需要编辑CKEditor的content.css从默认值只有2x简单的CSS覆盖。

CKEditor的。addcss方法参考http://docs.ckeditor.com/#!/api/CKEDITOR-method-addCss

如果你想做更多的CSS覆盖,你应该使用config.contentsCss = '/css/mysitestyles.css';来重新指向你自己的自定义版本的CKEditor的默认content.css。或者你可以指向他们的默认CSS然后你自己的附加文件config.contentsCss = [ 'content.css', '/css/anotherfile.css' ];

CKEditor的。contentscss方法参考http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss

相关内容

  • 没有找到相关文章

最新更新