2012-01-30 14 views
98

È possibile utilizzare il carattere newline nella proprietà CSS content per forzare un'interruzione di riga? Qualcosa di simile:Sequenza di caratteri di nuova riga nella proprietà CSS "content"?

figcaption:before 
{ 
    content: 'Figure \n' + attr(title); 
} 
+2

Questa risposta è utile? http://stackoverflow.com/a/4609491/582278 –

+0

@Blowski, sì, ma non funziona nel mio [fiddle] (http://jsfiddle.net/saeedneamati/q4WC4/) –

+0

@SaeedNeamati fa nel mio . In che browser stai cercando? –

risposta

119

La proprietà content accetta un string e:

Una stringa non può contenere direttamente un ritorno a capo. Per includere una nuova riga in una stringa , utilizzare un'uscita che rappresenta il carattere di avanzamento riga in ISO-10646 (U + 000A), ad esempio "\ A" o "\ 00000a". Questo carattere rappresenta la nozione generica di "newline" nei CSS.

(Nessuna idea su supporto reale del browser.)

+5

Niente batte una citazione. +1 –

+28

Si noti che i caratteri di nuova riga inseriti in questo modo sono trattati come qualsiasi altra nuova riga di un documento HTML: verranno visualizzati come carattere di spazio normale dai browser per impostazione predefinita e solo come normali newline nei contenuti preformattati. – BoltClock

+0

Non funziona. [Jsfiddel] (http://jsfiddle.net/saeedneamati/q4WC4/). –

105
figcaption:before 
{ 
    content: 'Figure \a' attr(title); 
    white-space: pre; 
} 

Si noti che nel valore dell'attributo content, la concatenazione è espressa solo da spazi bianchi, non da un segno “+”. La notazione di escape \a in un letterale stringa CSS indica un carattere di interruzione di riga.

+0

Ancora non funziona. Aggiornato [fiddle] (http://jsfiddle.net/saeedneamati/q4WC4/2/) –

+9

Il 'white-space: pre' mancava. Vedere http://jsfiddle.net/FP5gX/ dove ho aggiunto '''' come probabilmente vuoi quello spazio. –

+0

@Jan dovremmo usare ':: before' o': before'? – Ormoz

Problemi correlati