C-0070 Netscape 6/Mozilla でルビを表示する
- 2001/8/24
- 8/26
- 9/3
※ここに掲載している情報は間違っている可能性が非常に高いので、信用してはならない。これらの情報を信用してアナタが不利益を被ったとしても、それは全てアナタの責任である。
XHTML 1.1 では、 ruby モジュールが組み込まれたことにより正式にルビ(文字にふりがなをふる機能)が使えるようになりました。しかし実際には、 IE5 が単純ルビに対応している程度だったりして、いまいち役に立ちません。
N6/Moz もルビ非対応のブラウザの一つですが、こいつはユーザースタイルシートが使えるので、以下のような記述を userContent.css に書き加えれば、擬似的にルビを表示できるようになります。
/* 色は親要素を継承 */
ruby, ruby * {
color: inherit;
background: transparent;
}
/* 行間を広げる */
ruby {
position: relative;
line-height: 2.2;
}
/* rt(ruby text) を上に配置 */
ruby>rt,
rtc {
position: absolute;
left: 0;
top: -1.1em;
font: 60%/1 sans-serif;
text-indent: 0;
}
/* 二つ目の ruby text container を下に配置 */
rtc+rtc {
top: 1.6em;
}
/* 括弧を非表示にする */
rp {
display:none;
}
完全ではありませんが、これでもそれなりに表示できます。興味のある方は一度試してみてください。
単純ルビの例
<ruby>
<rb>喧々囂々</rb>
<rp>(</rp>
<rt>けんけんごうごう</rt>
<rp>)</rp>
</ruby>
複雑なルビの例
<ruby>
<rbc>
<rb>喧</rb>
<rb>々</rb>
<rb>囂</rb>
<rb>々</rb>
</rbc>
<rtc class="reading">
<rt>けん</rt>
<rt>けん</rt>
<rt>ごう</rt>
<rt>ごう</rt>
</rtc>
<rtc class="english" xml:lang="en">
<rt rbspan="4">clamourous</rt>
</rtc>
</ruby>
※ この Tips は 徒書(2001/8/19) Netscape6/Mozilla でルビ表示 及び Ancient Library 日記(2001/8/24) ルビ用スタイル @ Latest topics を参考にさせていただきました。
※
キッズ goo では手抜きして rb 要素をマーク付けせずに出力しているとのことで、単純ルビは隣接セレクタの rb+rp+rt, rb+rt
ではなく、子セレクタの ruby>rt
( ruby の直接の子要素として rt が存在する場合)に修正しました。情報元:徒書(2001/8/19) Netscape6/Mozilla でルビ表示2