Webフォント人気に引きずられるようにtext-transoform
プロパティもよく使われるようになってきました。SteelfishやFranchiseをヘッダや見出しで使って大文字にするとかよく見かけますね。そしてかっこいい。ですがその実装に違いがいくつかあることはあまり知られていないような気がします。ひとつはcapitalize
の挙動で、もうひとつはコピーした時の挙動です。
まずtext-transform
プロパティの取りうる値について。
none
capitalize
uppercase
lowercase
CSS3ではこれらに加えてfull-width
とfill-kana
という半角全角切り替えのための値を同時に指定することが出来るようになっていますが、今のところ実装がないので気にする必要はないでしょう。
capitalize
の扱いの違いDemo: Test page for text-transform
#1
違いが現れるのは単語同士をハイフンでつなげた場合です。ChromeやSafariのWebKit系とInternet Explorerではハイフンに続く文字も大文字になるのに対して、FirefoxとOperaでは大文字になりません。
語頭を大文字にする曲名や本のタイトルではハイフンに続く文字も大文字にしているケースが多いので、FirefoxとOperaの挙動がマイナーなようですね。
Demo: Test page for text-transform
#2
text-transform
プロパティを適用した文字列をコピーした時に、クリップボードに入る文字列に違いが出ます。ChromeやSafariのWebKit系では見たまま、つまりuppercase
なら全て大文字化された文字列が入り、FirefoxとOpera、Internet Explorerでは元の状態の文字列が入ります。
こちらは表示には差が出ないのでもっと気づくことが少ないです。どちらかというと見たままコピーされるWebKit系の挙動の方がユーザーに優しいような気がします。
ちなみにfont-variant
プロパティでsmall-caps
を指定した文字列は似たような見た目にはなりますが、全てのブラウザで元の状態の文字列がコピーされます。
こういった基礎知識以上ベスト・プラクティス未満なネタをまとめたサイトを作ろうと画策しいるようなしていないような。