Как избавиться от больших интервалов в CKEditor?


Введите описание изображения здесь

Я установил CKEditor, я обнаружил, что он вызывает большое пространство между строками, хотя я просто нажимаю enter один раз, чтобы перейти к следующему! Я должен нажать "Shift" для каждого входа, чтобы иметь линию разрыва! Есть идеи, как заставить его работать, не нажимая Shift?

Строка 2, вызванная нажатием клавиши Shift + enter. Строка 3 вызвана простым нажатием клавиши Enter.

Я использую PHP

2 16

2 ответа:

Вы можете установить в своей конфигурации.js использовать <br> вместо <p> при нажатии клавиши ENTER:

config.enterMode = CKEDITOR.ENTER_BR;

Доступные флаги

CKEDITOR.ENTER_P (1) – new <p> paragraphs are created;
CKEDITOR.ENTER_BR (2) – lines are broken with <br> elements;
CKEDITOR.ENTER_DIV (3) – new <div> blocks are created.

Смотрите в документах для enterMode для получения дополнительной информации


Расширяя ответ Джозепта Зильбера (что он знает, удалено.. Он предложил использовать config.autoParagraph = false;), IIRC (руководство не совсем ясно, что означает create wrapping blocks around inline contents), конфигурация autoParagraph добавляет пару <p></p> вокруг каждого встроенного содержимого внутри тела. Так что, даже если вы нажмете Enter на пустой строке он будет генерировать <p></p> (или <p>&nbsp;</p>, если так настроено). Руководство предлагает оставить эту опцию, как она есть, хотя (поэтому установите значение true);

Мне было проще закодировать это. Открыть файл сайты/все/библиотеки/с CKEditor/CKEditor приведено.js в Notepad++ перейдите к строке 22 или найдите shiftEnterMode

Изменить следующим образом:

enterMode:1,forceEnterMode:false,shiftEnterMode:2,

В:

enterMode:2,forceEnterMode:false,shiftEnterMode:1,

Готово!