2011-09-01 58 views
6

Mi CKEditor es la adición de una gran cantidad de etiquetas innecesarias al aplicar un estilo a un párrafo seleccionadoCKeditor añade párrafos vacíos cuando se aplica un estilo

Me iniciado CKeditor con el código HTML siguiente:

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

Cuando selecciono el párrafo y aplicar un estilo utilizando la barra de herramientas, CKEditor formatos de mi html en lo siguiente:

<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> 

¿hay alguna manera la prevención de CKEditor de la adición de los párrafos con e e no romper el espacio?

cosas que ya he intentado están añadiendo config.fillEmptyBlocks = false; y config.IgnoreEmptyParagraphValue = true; a mi archivo de configuración

actualización Resulta que este problema fue causado por el propio estilo, que era una costumbre estilo definido. Esta pieza de código era el problema: {name : 'Heading1', element : 'p class= "subheadingsecondlevel"}, una vez que lo cambié a: {name : 'Heading1', element : 'p', attributes : {class : 'subheadingsecondlevel'} }

Respuesta

8

Es posible que desee considerar los siguientes:

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

Usted puede comprobar fuera de mi puesto aquí para obtener más información:
How to configure ckeditor to not wrap content in <p> block?

el siguiente ajuste de configuración se detendrá el editor de insertar un espacio de no separación en los párrafos vacíos:

config.fillEmptyBlocks = false; 


¿Se insertó todo el código adicional después de aplicar solo un estilo?
¿Qué estilo aplicaste, se inserta todo el código adicional independientemente del estilo que uses?
¿Qué sucede si selecciona el texto y hace clic en el botón en negrita?
¿El código que está mostrando se está copiando desde la vista de origen del editor o desde la página final que usa para mostrar su contenido?

estar bien,
Joe

+0

Gracias, pero no me importa CKEditor envolviendo el texto en las etiquetas de párrafo, simplemente no quiero que agregue la sobrecarga inútil al código – Mark

+0

¿Se insertó todo el código adicional después de aplicar un solo estilo? ¿Qué estilo aplicó? ¿Se insertó todo el código extra independientemente del estilo que use? ¿Qué sucede si seleccionas el texto y haces clic en el botón en negrita? ¿El código que está mostrando se está copiando de la vista de origen del editor o de la página final que usa para mostrar su contenido? – codewaggle

+0

Agregué otra configuración a la respuesta, detiene el espacio sin interrupción, pero no el párrafo. – codewaggle

2

O, si todo falla, puede utilizar el selector CSS pseudo-clase ': vacío' y darle un 'display: none'. En la práctica, se agrega esta línea a su CSS:

p:empty { 
    display:none 
} 

entiendo que es una solución sucia pero funciona perfectamente en la mayoría de los casos y tiene inpact mínimo en diseño y funcionalidad.

+0

Estoy obteniendo algo muy similar: bloque p vacío, si el UL es el primer bloque en el área de texto. La única forma de deshacerse de él es este hack de CSS. – Ivan

Cuestiones relacionadas