2012-01-30 13 views
98

¿Es posible usar carácter de nueva línea en la propiedad CSS content para forzar un salto de línea? Algo así como:Secuencia de caracteres Newline en la propiedad 'contenido' de CSS?

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

¿Le sirve esta respuesta? http://stackoverflow.com/a/4609491/582278 –

+0

@Blowski, sí, pero no funciona en mi [fiddle] (http://jsfiddle.net/saeedneamati/q4WC4/) –

+0

@SaeedNeamati lo hace en la mía . ¿Qué navegador estás buscando? –

Respuesta

119

La propiedad acepta una contentstring y:

Una cadena no puede contener directamente una nueva línea. Para incluir una línea nueva en una cadena , use un escape que represente el carácter de alimentación de línea en ISO-10646 (U + 000A), como "\ A" o "\ 00000a". Este carácter representa la noción genérica de "nueva línea" en CSS.

(ni idea sobre el apoyo real del navegador.)

+5

Nada mejor que una cotización. +1 –

+28

Tenga en cuenta que los caracteres de nueva línea insertados de esta manera se tratan como cualquier otra línea nueva en un documento HTML: los navegadores los mostrarán de forma predeterminada como un carácter de espacio normal y solo como líneas nuevas regulares en el contenido preformateado. – BoltClock

+0

No funciona. [jsfiddel] (http://jsfiddle.net/saeedneamati/q4WC4/). –

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

Tenga en cuenta que en el valor content atributo, la concatenación se expresa solo por espacios en blanco, no por un signo “+”. La notación de escape \a en un literal de cadena CSS indica un carácter de salto de línea.

+0

Todavía no funciona. [Fiddle] actualizado (http://jsfiddle.net/saeedneamati/q4WC4/2/) –

+9

Falta el 'white-space: pre'. Ver http://jsfiddle.net/FP5gX/ donde agregué '''' ya que probablemente quiera ese espacio. –

+0

@ Jan ¿debemos usar ':: before' or': before'? – Ormoz