ツールチップ (Tooltip)
要素にホバー・フォーカス時に表示される情報ポップアップコンポーネントです。位置制御、遅延表示、アニメーション効果などをカスタマイズできます。
基本
基本的な使用
これは基本的なツールチップです
フォーカスでも表示されます
基本のCode:
<div class=“tooltip tooltip-top”>
<button class=“btn btn-primary btn-md”>ホバーしてください</button>
<span class=“tooltip-content”>これは基本的なツールチップです</span>
</div>位置
4方向の位置制御
上に表示
下に表示
左に表示
右に表示
位置のCode:
<div class=“tooltip tooltip-top”>…</div>
<div class=“tooltip tooltip-bottom”>…</div>
<div class=“tooltip tooltip-left”>…</div>
<div class=“tooltip tooltip-right”>…</div>サイズ
サイズバリエーション
小さいツールチップ
標準ツールチップ
大きいツールチップ
サイズのCode:
<div class=“tooltip tooltip-top tooltip-sm”>…</div>
<div class=“tooltip tooltip-top tooltip-md”>…</div>
<div class=“tooltip tooltip-top tooltip-lg”>…</div>色・テーマ
色バリエーション
デフォルト(ダーク)
プライマリーテーマ
セカンダリーテーマ
成功メッセージ
警告メッセージ
エラーメッセージ
ライトテーマ
色・テーマのCode:
<div class=“tooltip tooltip-top tooltip-primary”>…</div>
<div class=“tooltip tooltip-top tooltip-success”>…</div>
<div class=“tooltip tooltip-top tooltip-warning”>…</div>
<div class=“tooltip tooltip-top tooltip-danger”>…</div>
<div class=“tooltip tooltip-top tooltip-light”>…</div>アニメーション
アニメーション効果
フェードイン・アウト
拡大・縮小アニメーション
0.5秒遅延で表示
アニメーションのCode:
<div class=“tooltip tooltip-top tooltip-fade”>…</div>
<div class=“tooltip tooltip-top tooltip-scale”>…</div>
<div class=“tooltip tooltip-top tooltip-slide”>…</div>
<div class=“tooltip tooltip-top tooltip-delay”>…</div>複数行コンテンツ
マルチラインツールチップ
これは複数行のツールチップです。 長いテキストも自動的に 適切な幅で折り返されます。
ヘルプ情報
この機能の使い方:
- ボタンをクリック
- 必要な情報を入力
- 保存ボタンを押す
複数行のCode:
<div class=“tooltip tooltip-top tooltip-multiline”>
<button class=“btn btn-primary btn-md”>詳細説明</button>
<span class=“tooltip-content”>
これは複数行のツールチップです。
長いテキストも自動的に
適切な幅で折り返されます。
</span>
</div>JavaScript制御
プログラムによる制御
JavaScriptで制御されています
動的コンテンツ
JavaScript制御のCode:
<div id=“js-tooltip” class=“tooltip tooltip-top”>
<button class=“btn btn-primary btn-md”>JavaScript制御</button>
<span class=“tooltip-content”>JavaScriptで制御されています</span>
</div>
// JavaScript
function showTooltip() {
document.getElementById(‘js-tooltip’).classList.add(‘tooltip-show’);
}
function hideTooltip() {
document.getElementById(‘js-tooltip’).classList.remove(‘tooltip-show’);
}実用的なパターン
フォームヘルプ
パスワードの要件:
• 8文字以上
• 大文字・小文字を含む
• 数字を含む
• 特殊文字を含む
アイコンボタンツールチップ
お気に入りに追加
共有
その他のオプション
ステータス表示
システム正常稼働中
API サーバー一部機能に制限があります
データベースサービス停止中
メール送信フォームヘルプのCode:
<div class=“flex items-center gap-2”>
<label class=“label” for=“password-field”>パスワード</label>
<div class=“tooltip tooltip-right tooltip-multiline”>
<svg class=“w-4 h-4 text-gray-400 cursor-help”>…</svg>
<span class=“tooltip-content”>
パスワードの要件:<br />
• 8文字以上<br />
• 大文字・小文字を含む
</span>
</div>
</div>アイコンボタンのCode:
<div class=“tooltip tooltip-bottom”>
<button class=“btn btn-secondary btn-sm p-2”>
<svg class=“w-4 h-4”>…</svg>
</button>
<span class=“tooltip-content”>お気に入りに追加</span>
</div>アクセシビリティ
- • ツールチップは補助的な情報のみに使用し、重要な情報は本文に記載
- • トリガー要素には
aria-describedbyでツールチップとの関連を明示 - • ツールチップコンテンツには
role="tooltip"を設定 - • Escapeキーでツールチップを閉じることができる
- • キーボードフォーカスでもツールチップが表示される
- • モバイルデバイスではタップで表示・非表示を切り替え
- • 自動非表示のタイマーを設けない(ユーザーのペースで読める)
- • 十分なコントラスト比を確保(背景色とテキスト色)
- • ツールチップが表示領域外に出ないよう位置を自動調整
このツールチップはアクセシビリティに配慮しています