CKeditoriframeのbody
CSSスタイルを変更する方法がわかりません。私はウェブ上のさまざまな潜在的な解決策に基づいてたくさんのオプションを試しましたが、物事をかなり難しくしているCKeditorのAPIにあまり詳しくありません。これは(具体的には)CKeditor4.4.3です。
次のJSfiddleでさまざまな試み(コメント)を確認できます。
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
_ 設定を使用して別のファイルをロードします。
スタイルシステムの設定とコンテンツのスタイルを混同しているようです。これらは2つのまったく異なるものです-スタイルシステムは選択されたコンテンツに「スタイル」を適用および削除する責任があります-それは使用されます。スタイルとフォーマットのドロップダウン、および太字または斜体のボタンによって、これらはすべて「スタイル」です。
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 ) { ... }
セクション内で:
つまり、2倍の単純なCSSオーバーライドのために、CKEditorの_content.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