ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
ルビとは
ルビ (ruby) とは、漢字の上や横に振る読み仮名のことです。HTML5 では正式に <ruby> 系要素が標準化されました。
基本構文
<ruby>
漢字<rp>(</rp><rt>かんじ</rt><rp>)</rp>
</ruby>
このコードは対応ブラウザでは「漢字」の上に小さく「かんじ」と表示され、非対応ブラウザでは「漢字(かんじ)」と表示されます。
要素一覧
| 要素 | 意味 | 役割 |
|---|---|---|
<ruby> | Ruby Container | ルビ全体のコンテナ |
<rt> | Ruby Text | ふりがな本体(必須) |
<rp> | Ruby Parenthesis | 非対応環境用フォールバック括弧 |
<rtc> | Ruby Text Container | 複数行のルビをまとめるコンテナ |
<rb> | Ruby Base | ベーステキスト指定(W3C 非推奨) |
1. 単純なふりがな
<p>
<ruby>日本語<rp>(</rp><rt>にほんご</rt><rp>)</rp></ruby>
を学ぶ。
</p>
2. 文字単位で振る (モノルビ)
<ruby>
東<rp>(</rp><rt>とう</rt><rp>)</rp>
京<rp>(</rp><rt>きょう</rt><rp>)</rp>
都<rp>(</rp><rt>と</rt><rp>)</rp>
</ruby>
3. 熟語単位で振る (グループルビ)
<ruby>東京都<rp>(</rp><rt>とうきょうと</rt><rp>)</rp></ruby>
4. 中国語の拼音 (Pinyin)
<p>
<ruby>
北<rp>(</rp><rt>běi</rt><rp>)</rp>
京<rp>(</rp><rt>jīng</rt><rp>)</rp>
</ruby>
</p>
5. 複数行のルビ (rtc)
1 つのベーステキストに対しふりがなと意味のように複数のルビを振りたい場合、<rtc> でグループ化します:
<ruby>
旧字体
<rtc>
<rt>きゅうじたい</rt>
</rtc>
<rtc>
<rt lang="en">old character form</rt>
</rtc>
</ruby>
CSS でルビ位置を制御
/* デフォルト: ベーステキストの上 */
ruby {
ruby-position: over;
}
/* 下に振る */
.ruby-under {
ruby-position: under;
}
/* 右に振る (縦書き時) */
.ruby-right {
ruby-position: inter-character;
}
/* ふりがなサイズ */
rt {
font-size: 0.5em;
color: #555;
}
縦書きとの組合せ
/* 縦書きルビ */
.vertical {
writing-mode: vertical-rl;
}
.vertical ruby {
ruby-position: over; /* 縦書きでは右側に振られる */
}
韓国語ハングル
<p>
<ruby>
韓国<rp>(</rp><rt>한국</rt><rp>)</rp>
</ruby>
</p>
JavaScript で動的にルビ追加
function addRuby(base, reading) {
const ruby = document.createElement('ruby');
ruby.append(base);
const rp1 = document.createElement('rp');
rp1.textContent = '(';
ruby.appendChild(rp1);
const rt = document.createElement('rt');
rt.textContent = reading;
ruby.appendChild(rt);
const rp2 = document.createElement('rp');
rp2.textContent = ')';
ruby.appendChild(rp2);
return ruby;
}
// 「漢字」テキストを <ruby>漢字<rt>かんじ</rt></ruby> に置換
document.querySelectorAll('.auto-ruby').forEach(el => {
el.replaceWith(addRuby('漢字', 'かんじ'));
});
サポートブラウザ
| ブラウザ | ruby/rt | rp | rtc | ruby-position |
|---|---|---|---|---|
| Chrome | ○ | ○ | ○ | ○ |
| Firefox | ○ | ○ | ○ | ○ |
| Safari | ○ | ○ | △ | ○ |
| Edge | ○ | ○ | ○ | ○ |
| IE 11 | △ | ○ | × | △ |
アクセシビリティ
- スクリーンリーダーはふりがな (rt) を読み上げる場合が多い(実装依存)
<rp>は読み上げ対象外- 読み上げ重視なら
aria-labelを併用 - 難読漢字 (例: 「躑躅」 → 「つつじ」) では特に有効
SEO への影響
Google はルビ内のテキストもインデックス対象とします。<rt> の中身がフリガナとして検索クエリにヒットすることもあります。ただし過度な装飾目的での使用は避けるべきです。
よくあるパターン
<!-- 人名 -->
<ruby>夏目漱石<rp>(</rp><rt>なつめそうせき</rt><rp>)</rp></ruby>
<!-- 難読 -->
<ruby>躑躅<rp>(</rp><rt>つつじ</rt><rp>)</rp></ruby>
<!-- 古文 -->
<ruby>枕草子<rp>(</rp><rt>まくらのそうし</rt><rp>)</rp></ruby>
<!-- 専門用語 + 英訳 -->
<ruby>
人工知能
<rtc><rt>じんこうちのう</rt></rtc>
<rtc><rt lang="en">Artificial Intelligence</rt></rtc>
</ruby>
FAQ
Q: rb 要素は使うべき?
A: W3C は使用を推奨していません。ベーステキストは <ruby> 直下に直接書きます。
Q: ふりがなが行間を広げてしまう
A: CSS で rt { line-height: 0; } を試してください。または ruby { line-height: 2; } で本文の行間を広げて対応。
Q: 縦書きでルビ位置がずれる
A: writing-mode: vertical-rl 時は ruby-position: over が「右側」に対応します。inter-character も検討。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック 2026-06-22 12:34:44
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 2026-06-22 12:19:10
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 2026-06-22 12:19:10
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?