2011-09-01 17 views
6

mio CKEditor è l'aggiunta di un sacco di tag inutili quando si applica uno stile a un paragrafo selezionatoCKEditor aggiunge paragrafi vuoti quando si applica uno stile

ho iniziato CKEditor con il seguente codice HTML:

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

Quando seleziono il paragrafo e applicare uno stile utilizzando la barra degli strumenti, CKEditor formati mia html al seguente:

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

c'è un modo impedendo CKEditor di aggiungere i paragrafi con ° e lo spazio non si rompe?

Le cose che ho già provato stanno aggiungendo config.fillEmptyBlocks = false; e config.IgnoreEmptyParagraphValue = true; al mio file di configurazione

Aggiornamento Risulta questo problema è stato causato dallo stile di sé che era una consuetudine stile definito. Questo pezzo di codice è stato il problema: {name : 'Heading1', element : 'p class= "subheadingsecondlevel"}, una volta che ho cambiato in: {name : 'Heading1', element : 'p', attributes : {class : 'subheadingsecondlevel'} }

risposta

8

Si potrebbe prendere in considerazione questi:

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

È possibile controllare il mio post qui per maggiori info:
How to configure ckeditor to not wrap content in <p> block?

la seguente impostazione di configurazione fermerà l'editor di inserire uno spazio unificatore in paragrafi vuoti:

config.fillEmptyBlocks = false; 


È stato inserito tutto il codice aggiuntivo dopo aver applicato un solo stile?
Quale stile hai applicato, è tutto il codice aggiuntivo inserito indipendentemente dallo stile che usi?
Cosa succede se si seleziona il testo e si fa clic sul pulsante in grassetto?
Il codice che si sta visualizzando viene copiato dalla vista di origine dell'editor o dalla pagina finale che si utilizza per visualizzare il contenuto?

stare bene,
Joe

+0

Grazie, ma non mi dispiace CKEditor che avvolge il testo nei tag di paragrafo, non voglio che aggiunga l'overhead inutile al codice – Mark

+0

È stato inserito tutto il codice aggiuntivo dopo aver applicato un solo stile? Quale stile hai applicato, è tutto il codice aggiuntivo inserito indipendentemente dallo stile che usi? Cosa succede se selezioni il testo e fai clic sul pulsante in grassetto? Il codice che stai visualizzando viene copiato dalla vista sorgente dell'editor o dalla pagina finale che utilizzi per visualizzare il tuo contenuto? – codewaggle

+0

Ho aggiunto un'altra impostazione di configurazione alla risposta, interrompe lo spazio non interrompibile, ma non il paragrafo. – codewaggle

2

O, se tutto fallisce, è possibile utilizzare il selettore CSS pseudo-classe ': vuota' e dare un 'display: none'. In pratica, si aggiunge questa riga al CSS:

p:empty { 
    display:none 
} 

Capisco che è una soluzione sporca ma funziona perfettamente nella maggior parte dei casi e ha inpact minimo sul design e funzionalità.

+0

Sto ottenendo qualcosa di molto simile - blocco p vuoto, se UL è il primo blocco nella textarea. L'unico modo per liberarsene è questo hack CSS. – Ivan

Problemi correlati