タイトル: rtc要素
SEOタイトル: HTML rtc 要素 (ルビコンテナ) 完全ガイド
| この記事の要点 |
|
rtc 要素とは
(Ruby Text Container) は、HTML のルビ機能で複数のルビアノテーションをまとめるためのコンテナ要素です。日本語のフリガナや、中国語の拼音、さらに各文字に対する意味解説など、ベース文字に複数の注釈を重ねたいときに使います。
ルビ関連要素一覧
| 要素 | 正式名 | 役割 |
|---|---|---|
| Ruby | ルビ全体のルート |
| Ruby Base | ルビが振られる側 (ベーステキスト) |
| Ruby Text | ルビ本文 (注釈側) |
| Ruby Parenthesis | ルビ非対応ブラウザ用の括弧 (フォールバック) |
| Ruby Text Container | 複数の をグループ化 |
基本のルビ (rtc なし)
漢字
日本語
rtc を使った複数アノテーション
1 つのベース文字に対し、2 種類以上の注釈を付けたい場合に を使います:
東 京
北 京
CSS によるルビ制御
ruby {
ruby-position: over; /* ベースの上 (デフォルト) */
ruby-position: under; /* ベースの下 */
ruby-position: inter-character; /* 文字間 (縦書き中国語向け) */
ruby-align: start; /* 左寄せ (LTR) */
ruby-align: center; /* 中央 */
ruby-align: space-between; /* 均等割付 */
ruby-align: space-around; /* 均等割付 + 両端余白 */
}
rt {
font-size: 0.5em; /* ルビ文字サイズ */
color: #666;
}
/* 2 番目の rtc を下に配置 */
rtc:nth-of-type(2) {
ruby-position: under;
}
ブラウザ対応状況
| ブラウザ | ruby-position | ||
|---|---|---|---|
| Chrome / Edge | ○ | × | over / under |
| Firefox | ○ | ○ | over / under / inter-character |
| Safari | ○ | △ (部分) | over / under |
| IE 11 | ○ (古い仕様) | × | × |
は Firefox のみ完全対応です。Chrome/Edge では仕様上は認識されますが、レイアウトが期待通りにならないことがあります。書籍など複数ルビを正確に表示したい場合は、CSS で位置調整するか、画像化が現実的。
HTML 仕様の変遷
- HTML 5.1 / 5.2:
とが「複雑なルビ」用に正式定義 - HTML Living Standard (WHATWG):
は廃止勧告、は非推奨に分類 - 現在の推奨: 基本ルビは
のみで構成し、複雑な多重ルビは CSS / SVG で代替
つまり は仕様としては存在するが、将来的に削除される可能性のある実験的要素と認識しておくのが安全。
代替パターン
パターン 1: 2 段の ruby を入れ子
東京
東京
(Tokyo, Japan capital)
パターン 2: CSS Grid で擬似ルビ
とうきょう
東京
Tokyo
用途例
- 国語辞典・歴史書: 「平城京」に「へいじょうきょう」+ 「奈良時代の都」
- 中国語学習教材: 漢字に拼音 + ピンイン声調 + 日本語訳
- 古文・漢文: 訓読み + 送りがな + 現代語訳
- EPUB 電子書籍: 一部リーダーが rtc に対応 (Apple Books など)
FAQ
Q: スマホで小さくて読めない
A: rt のフォントサイズは親の 50% がデフォルト。rt { font-size: 0.6em; } や line-height 調整で改善。
Q: 印刷用 PDF にしたい
A: ブラウザ印刷では崩れることが多いので、業務用はInDesign の縦中横機能やEPUB ビューアを使うのが確実。
Q: ルビ非対応ブラウザでも見たい
A: で括弧表示。「東京(とうきょう)」のようにフォールバック表示されます。