🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

【HTML】ツールチップの基本|title属性を使ったホバー時のヒント表示

HTMLのtitle属性を使ったシンプルなツールチップ表示から、CSSとJavaScriptを使ったカスタムツールチップの作成方法まで解説します。

🔹 基本コード

<p>マウスをこの<span title="追加情報">部分</span>に合わせてください。</p>

💻 完全動作コード(コピペするだけで動作確認可能)

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>ツールチップデモ</title>
  <style>
    body {
      font-family: 'Segoe UI', Meiryo, sans-serif;
      padding: 20px;
      text-align: center;
      line-height: 1.6;
    }
    .tooltip-demo {
      color: #1e88e5;
      font-weight: bold;
      cursor: help;
      border-bottom: 1px dashed #1e88e5;
      padding-bottom: 1px;
    }
    .tooltip-demo:hover {
      color: #0d47a1;
    }
    .container {
      max-width: 600px;
      margin: 0 auto;
      padding: 20px;
      background: #f8f9fa;
      border-radius: 8px;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
  </style>
</head>
<body>
  <div class="container">
    <h2>ツールチップ動作デモ</h2>
    <p>この<span class="tooltip-demo" title="ツールチップが表示されています!追加の説明文がここに出ます。">青色のテキスト</span>にマウスを乗せてみてください。</p>
    <p>このデモはHTMLのtitle属性を使った標準的なツールチップの動作を確認できます。</p>
  </div>
</body>
</html>

🧩 ツールチップの基本特性

title属性を使ったツールチップは、ブラウザ標準の機能でJavaScriptなしで実現できます。マウスを要素に乗せて約1秒後に表示され、マウスが離れるかクリックすると消えます。

メリットとして、すべての主要ブラウザでサポートされており、スクリーンリーダーでも読み上げられるためアクセシビリティに優れています。ただし、デザインのカスタマイズはできません。

🎯 カスタムツールチップの作成

<style>
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black;
}
.tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: #555;
  color: #fff;
  text-align: center;
  border-radius: 6px;
  padding: 5px;
  position: absolute;
  z-index: 1;
  bottom: 125%;
  left: 50%;
  margin-left: -60px;
  opacity: 0;
  transition: opacity 0.3s;
}
.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}
</style>

<div class="tooltip">ホバーしてください
  <span class="tooltiptext">カスタムツールチップ</span>
</div>

CSSとHTMLのみでカスタムツールチップを作成できます。デザインの自由度が高く、アニメーション効果も追加可能です。ただし、JavaScriptを使わないため、表示位置の動的調整には限界があります。

📚 実践的な活用例

フォーム入力欄のヒント表示: <label>パスワード: <input type="password"><span title="8文字以上で英数字を含めてください">?</span></label>

用語の説明: <p><span title="HyperText Markup Language">HTML</span>はウェブページを作成するための言語です。</p>

これらの例のように、ユーザーインターフェースの使いやすさを向上させるために効果的に活用できます。

⚠️ 注意点:ツールチップとリンクの違い

純粋なツールチップ機能

この記事で紹介している方法はリンク機能を持たない純粋なツールチップです。<span title="...">は:

  • クリックしてもページ遷移しない
  • あくまでホバー時の情報表示専用
  • 視覚的な装飾(色変化など)はCSSによる見た目の工夫
<!-- リンク機能なし -->
<span class="tooltip" title="説明文">ホバー対象</span>

<!-- リンク機能あり -->
<a href="page.html" title="説明文">クリック可能</a>

リンクと組み合わせる場合

ツールチップ付きリンクを作成する場合は、<a>タグにtitle属性を追加します:

<a href="#" class="tooltip-link" title="詳細ページへ移動します">
  クリック可能なリンク
</a>

<style>
.tooltip-link {
  color: #0066cc;
  text-decoration: underline;
}
</style>
コピーしました!