Ckeditor добавляет пустые абзацы при применении стиля - PullRequest
8 голосов
/ 01 сентября 2011

Мой CKEditor добавляет много ненужных тегов при применении стиля к выбранному абзацу

Я запускаю CKeditor со следующим html:

<p>
    Hi, this a text!</p>

Когда я выбираю абзац и применяюСтиль, использующий панель инструментов, CKEditor форматирует мой html следующим образом:

<p>
    <span style="display: none;">&nbsp;</span></p>
<p>
    <span id="cke_bm_173S" style="display: none;">&nbsp;</span>Hi, this a text!<span id="cke_bm_173E" style="display: none;">&nbsp;</span></p>
<p>
    <span style="display: none;">&nbsp;</span></p>

Есть ли способ помешать CKEditor добавлять абзацы с неразрывным пробелом?

Что я ужепытались добавить config.fillEmptyBlocks = false; и config.IgnoreEmptyParagraphValue = true; в мой файл конфигурации

Update Оказывается, эта проблема была вызвана самим стилем, который был пользовательским стилем.Этот кусок кода был проблемой: {name : 'Heading1', element : 'p class= "subheadingsecondlevel"}, как только я изменил его на: {name : 'Heading1', element : 'p', attributes : {class : 'subheadingsecondlevel'} }

Ответы [ 2 ]

8 голосов
/ 01 сентября 2011

Вы можете рассмотреть следующие вопросы:

config.enterMode = CKEDITOR.ENTER_BR;
config.autoParagraph = false;

Вы можете проверить мой пост здесь для получения дополнительной информации: Как настроить ckeditor, чтобы он не переносил содержимое в блоке

?

Следующий параметр конфигурации не позволит редактору вставлять неразрывный пробел в пустые абзацы:

  config.fillEmptyBlocks = false;

Был ли весь дополнительный код вставлен после применения только одного стиля?Какой стиль вы применили, весь ли дополнительный код вставлен независимо от используемого стиля?Что произойдет, если вы выделите текст и нажмете кнопку жирным шрифтом?Код, который вы показываете, копируется из исходного представления редактора или с последней страницы, которую вы используете для отображения своего контента?

Будьте здоровы,Джо

2 голосов
/ 21 ноября 2013

Или, если все не удалось, вы можете использовать псевдокласс CSS-селектора «: empty» и задать ему «display: none».На практике вы добавляете эту строку в свой CSS:

p:empty {
  display:none
}

Я понимаю, что это грязное решение, но в большинстве случаев оно отлично работает и имеет минимальное влияние на дизайн и функциональность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...