横から失礼します。
text-transform というプロパティは、もともと大文字・小文字の区別がある言語でしか使えませんし、それらの言語であっても使う場面はけっこう限られたものだと思います。
当然、和文単独ではまったく使いどころのないプロパティです。
英文の場合、スペース(半角スペース)で単語を区切って文章を書くのがルールですから、
text-transform: capitalize;
を指定した場合、
行頭の単語を除き、文字列内の単語の先頭を判別する上で、単語の前にスペースが存在することは、ある意味で必然だと考えられます。
問題は和英混在文の場合ですが、これについての規定はちょっと思い当たりません。
| CSS に関する W3C の仕様書を探せばあるのかもしれませんが、
| そこまではやってません。
| もしかしたら現状では、レンダリングエンジンごとの解釈(仕様)
| に依存しているのかもしれません。
ちなみに、下記のような簡単な文書を、手持ちのブラウザで試した挙動は以下のようになりました。
コード: 全て選択
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-style-type" content="text/css">
<meta name="content-language" content="ja">
<title>Sample</title>
<style type="text/css">
<!--
p.cap {
text-transform: capitalize;
}
-->
</style>
</head>
<body>
<p class="cap">vitz</p>
<p class="cap">初めましてvitzと申します。<br>
firefoxユーザーです。<br>
当方、只今学習のためhtmlとcssをコーディングして動作を確認してみたり<br>
しているのですが、題記の件で質問がございます。
</p>
</body>
</html>
Internet Explorer 8.0 と Safari 5.0.2 は、このスタイルを適用します。
Firefox 3.6.10 と Opera 10.62 は、このスタイルを適用してくれません。
(アルファベットの前にスペースを入れると、Firefox と Opera でも適用されます。)
この結果だけを見れば、ブラウザごとに実装が異なっているような印象です。
ご質問の答えになっていないと思いますが、とりあえずの参考まで。
(余談)
個人的には、Firefox や Opera の挙動のほうが理にかなっている気がします。根拠はありませんけど......(汗)。
和 + 英だけならまだしも、多様な複数の言語 / フォントの混在する文章の表示を、どのようなレンダリングエンジンであれ完全にユーザーの期待通りに描画することやその標準仕様を確定することは、(現状では)相当困難でしょうから、「文章を書く」という人間的な作業の段階で、書き手が使用言語の特性や制約に応じた書き方をする(または編集・整形する)ことも、Web ページの制作上は重要な観点かもしれませんね。
| HTML や CSS の書式だけで Web ページの品質が決まるわけでなく、
| コンテンツ(文章や画像など)の仕様や書き方・作り方、その品質も
| 度外視できないのではなかろうか、という意味でです。