IE以外でもルビタグを反映させる素晴らしいCSSを発見したのでメモ。
元ネタ→
404 Blog Not Found(PC)
よくよく見たら、2008年の記事で、2年前と言えば、ルビタグ使いたいけどIEしか反映しないんだよねぇ……とか思っていたような。ちゃんと調べようよ、あたし。
以下は、あたしが自分で使う用に少し手を加えました。
複雑ルビは使わないとして、その部分のCSSを削除。
ルビ付きとそうでない文字の行間を同じぐらいにする為に body に line-height を 2em を指定。
Firefox で微妙にずれた位置を修正する為に margin-bottom に 0.3em 指定。
ルビと対象テキストとの間を空ける為に rt , rtc 部分に line-height を 1.5em を指定。
Firefox3.6 , Safari5.0 , IE8 では綺麗に表示されましたが、Google Chrome(5.0.375.70)では少しずれてしまった。どうやら margin-bottom に 0.3em を指定したのが原因らしい。この指定を外すと GC では綺麗に表示されるが、他の Ff , Sf , IE ではずれてしまうという、激しいジレンマ……orz
結果、GC を諦めました。少しずれるけど、許容範囲だよね!
ちなみに? 面倒だったので、Opera と上記の古いバージョンでの動作確認はしてません。
サンプル→<ruby><rb>亜米利加</rb><rp>(</rp><rt>アメリカ</rt><rp>)</rp></ruby>
サンプル→
亜米利加
body { line-height:2em; }
/* ルビ */
ruby {
display:inline-table !important;
text-align:center !important;
white-space:nowrap !important;
text-indent:0 !important;
margin:0 0 0.3em 0 !important;
vertical-align:text-bottom !important;
line-height:1em !important;
}
ruby>rb,ruby>rbc {
display:table-row-group !important;
line-height:1em !important;
}
ruby>rt,ruby>rbc+rtc {
display:table-header-group !important;
font-size:0.5em !important;
letter-spacing:0 !important;
line-height:1.5em !important;
}
rbc>rb,rtc>rt {
display:table-cell !important;
letter-spacing:0 !important;
}
rp { display:none !important; }