我想知道是否有任何方法仅使用 CSS(并且这可以是特定于浏览器的 CSS)将所有大写文本转换为仅最初大写的单词,例如:
I YELL WITH MY KEYBOARD
将转换为:
I Yell With My Keyboard
编辑:我意识到我的问题不够清楚,输入的文本是大写的,而不是最初的小写,文本转换:大写似乎不适用于这样输入的数据。
我想知道是否有任何方法仅使用 CSS(并且这可以是特定于浏览器的 CSS)将所有大写文本转换为仅最初大写的单词,例如:
I YELL WITH MY KEYBOARD
将转换为:
I Yell With My Keyboard
编辑:我意识到我的问题不够清楚,输入的文本是大写的,而不是最初的小写,文本转换:大写似乎不适用于这样输入的数据。
您可以使用 CSS 对文本进行一些转换,这就是全部。
.Capitalize
{ text-transform: capitalize }
.Uppercase
{ text-transform: uppercase }
.Lowercase
{ text-transform: lowercase }
.Nothing
{ text-transform: none }
不幸的是,没有骆驼案例文本转换。
您始终可以使用 Javascript 来适当地转换文本,或者如果您使用的是 PHP 或 ASP 等脚本语言,则在其中进行更改。
下面是一个来自 strtoupper PHP 文档页面的示例:
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
);
}