2011-09-01 196 views
6

应用样式到选定段落CKEDITOR应用样式

当我CKEditor的是增加了很多不必要的标签,我开始CKEDITOR用下面的HTML时增加了空段落使用工具栏的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添加段落与th非破坏性空间?

事情我已经尝试过要添加config.fillEmptyBlocks = false;config.IgnoreEmptyParagraphValue = true;我的配置文件

更新 原来,这个问题是由这种风格本身这是定义风格自定义引起的。这段代码是问题:{name : 'Heading1', element : 'p class= "subheadingsecondlevel"},一旦我把它改为:{name : 'Heading1', element : 'p', attributes : {class : 'subheadingsecondlevel'} }

回答

8

你可能要考虑这些:

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

您可以在这里看看我的文章的详细信息:
How to configure ckeditor to not wrap content in <p> block?

下面的配置设置将从空段落中插入不间断空格停止编辑:

config.fillEmptyBlocks = false; 


当时所有的额外的代码将只是一个风格之后插入?
你申请什么风格,是所有额外的代码,无论你使用的样式的插入?
如果你选择文本,单击加粗按钮发生了什么?
是你所显示的代码是从编辑器或您用来显示您的内容最终页的源视图复制?

要好吧,

+0

谢谢,但我不介意CKEditor用段落标签包装文本,我只是不希望它将无用的开销添加到代码中 – Mark

+0

在应用一种样式之后是否插入了所有附加代码?你应用了什么风格,是否插入所有额外的代码,而不管你使用的风格如何?如果选择文本并单击粗体按钮,会发生什么情况?您显示的代码是从编辑器的源视图还是从用于显示内容的最终页面复制的? – codewaggle

+0

我又增加了配置设置为答案,就停止非打破空间,而不是段落。 – codewaggle

2

或者,如果所有的失败,你可以使用CSS选择器伪类“:空”,并给它一个“显示:无”。在实践中,这一行添加到您的CSS:

p:empty { 
    display:none 
} 

我知道这是一个肮脏的解决方案,但它完全在大多数情况下,并且对设计和功能最小inpact。

+0

我得到的东西非常相似 - 如果UL是textarea中的第一个块,则为空的p块。这种CSS破解只有摆脱它的方法。 – Ivan