2010-01-25 21 views
5

Zastanawiałem się, czy istnieje jakiś sposób, używając tylko CSS, (a to może być przeglądarka specyficzny CSS), aby przekształcić wszystkie wielkie tekst do słów, które są tylko początkowo kapitalizowane na przykład:Konwersja wszystkie wielkie litery init czapki

I YELL WITH MY KEYBOARD

będą konwertowane do:

I Yell With My Keyboard

EDIT: zdałem sobie sprawę, że nie było wystarczająco jasne w moim pytaniu, tekst został wpisany skapitalizowane, nie początkowo małe, tex t-transformacja: wielkie litery nie działają na danych, które zostały wprowadzone w taki sposób, jak się wydaje.

Odpowiedz

8

Jest kilka rzeczy, które możesz zrobić z CSS dla transformacji tekstu, oto wszystkie z nich.

.Capitalize 
{ text-transform: capitalize } 

.Uppercase 
{ text-transform: uppercase } 

.Lowercase 
{ text-transform: lowercase } 

.Nothing 
{ text-transform: none } 

Niestety, nie ma transformacji tekstu wielbłąda.

Zawsze można użyć Javascript, aby odpowiednio przekształcić tekst lub jeśli używasz języka skryptowego, takiego jak PHP lub ASP, a następnie zmień go tam.

Oto przykład wzięty ze strony 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

Idę musiał skończyć się tą drogą, formatowanie tekstu, jak to jest w zamiast przekształcania z css. –

+0

Cieszę się, że mogę pomóc. :) – David