2010-01-25 16 views
5

Me preguntaba si había alguna manera usando sólo CSS, (y esto puede ser el navegador CSS específico) para convertir todo el texto en mayúsculas a las palabras que se capitalizan sólo al principio, por ejemplo:la conversión de todas las letras mayúsculas a init tapas

I YELL WITH MY KEYBOARD

se convertiría en:

I Yell With My Keyboard

EDIT: me di cuenta que no era lo suficientemente claro en mi pregunta, el texto se introduce en mayúsculas, minúsculas no inicialmente, tex t-transform: capitalize no funciona en datos que han sido ingresados ​​así parece.

Respuesta

8

Hay algunas cosas que puede hacer con CSS para las transformaciones de texto, aquí están todas.

.Capitalize 
{ text-transform: capitalize } 

.Uppercase 
{ text-transform: uppercase } 

.Lowercase 
{ text-transform: lowercase } 

.Nothing 
{ text-transform: none } 

Lamentablemente, no hay transformación de texto Camel Case.

Siempre puede usar Javascript para transformar el texto adecuadamente o si está utilizando un lenguaje de scripts como PHP o ASP, entonces cámbielo allí.

He aquí un ejemplo tomado de la página PHP doc strtoupper:

function strtocamel($str, $capitalizeFirst = true, $allowed = 'A-Za-z0-9') { 
    return preg_replace(
     array(
      '/([A-Z][a-z])/e', // all occurances of caps followed by lowers 
      '/([a-zA-Z])([a-zA-Z]*)/e', // all occurances of words w/ first char captured separately 
      '/[^'.$allowed.']+/e', // all non allowed chars (non alpha numerics, by default) 
      '/^([a-zA-Z])/e' // first alpha char 
     ), 
     array(
      '" ".$1', // add spaces 
      'strtoupper("$1").strtolower("$2")', // capitalize first, lower the rest 
      '', // delete undesired chars 
      'strto'.($capitalizeFirst ? 'upper' : 'lower').'("$1")' // force first char to upper or lower 
     ), 
     $str 
    ); 
} 
+0

Voy a tener que terminar yendo esta ruta, el formato del texto, ya que viene en lugar de transformar con CSS. –

+0

Me alegro de ser de ayuda. :) – David

Cuestiones relacionadas