Как изменить стиль CSS ckeditor iframe
Я не могу понять, как изменить ckeditor iframe body
стиль CSS. Я пробовал кучу вариантов, основанных на различных потенциальных решениях по всему интернету, но я не очень хорошо знаком с API CKeditor, что делает вещи довольно сложными. Это (в частности) CKeditor 4.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; }');
2 ответов
редактировать contents.css
файл, который находится в главном каталоге CKEditor или использовать config.contentsCss
установка для загрузки другого файла.
Я вижу, что вы перепутали Системные настройки стилей со стилем контента. Это две совершенно разные вещи-система стилей отвечает за применение и удаление "стилей" к выбранному контенту - она используется, например, по стилям и раскрывающимся спискам форматов, а также жирным шрифтом или курсивом - все они являются "стилями".
As для CKEDITOR.addCss()
- этот метод должен использоваться плагинами в основном, и он должен использоваться до создания редактора. На самом деле, его doc говорит именно это и упоминает, что вы должны использовать contents.css
;).
подтвердите, что в CKEditor 4.5.9 я смог просто добавить несколько необходимых пользовательских стилей переопределения CSS через config.js
(Так что меньше вероятность случайной перезаписи при обновлении версий 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 .cke_editable content area размер шрифта тела от 13px до 14px-чтобы соответствовать размеру шрифта моих других полей формы начальной загрузки.
- для укажите, что при просмотре на iPhone .размер шрифта cke_editable должен быть увеличен до 16px, чтобы предотвратить увеличение iOS более чем на 100% моего уже мобильного оптимизированного макета страницы.
это означало, что мне не нужно было редактировать CKEditor content.css
по умолчанию только для 2x простых CSS переопределяет.
С CKEditor это .ссылка на метод addCsshttp://docs.ckeditor.com/#!/api / CKEDITOR-метод-addCss
если вы хотите сделать больше, чем несколько CSS переопределяет вы должны вместо этого использовать config.contentsCss = '/css/mysitestyles.css';
чтобы переориентироваться на свою собственную версию по умолчанию CKEditor content.css
.
Или вы можете указать на их CSS по умолчанию, а затем свой собственный дополнительный файл с config.contentsCss = [ 'content.css', '/css/anotherfile.css' ];
С CKEditor это .ссылка на метод contentsCSShttp://docs.ckeditor.com/#!/api / CKEDITOR.config-cfg-contentsCss