CSSでツールチップを作る方法|サンプルコード付きで解説
CSSツールチップとは?
ツールチップ(Tooltip)は、要素に追加情報を設定するためのUIパーツです。訪問者がマウスポインターを要素の上に重ねると、Webページ上に補足説明がポップアップ表示されます。JavaScriptに頼らず、CSSだけでも手軽に実装できるのが大きな魅力です。
以下は、CSSのみを使用してツールチップを構築するサンプルコードです。
サンプルコード
<!DOCTYPE html>
<html>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
text-align: center;
}
.toolTip {
position: relative;
display: inline-block;
border-bottom: 3px double rgb(255, 0, 0);
}
.toolTip .toolText {
visibility: hidden;
width: 160px;
background-color: #721cd4;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
top: -35px;
left: -10px;
z-index: 1;
}
.toolTip:hover .toolText {
visibility: visible;
}
</style>
<body>
<h1>Css tooltip example</h1>
<div class="toolTip">
Hover over me
<span class="toolText">Some toolTip text</span>
</div>
<h2>Hover over the above text to see the tooltip</h2>
</body>
</html>
実行結果
上記のコードを実行すると、ブラウザには次のように表示されます。

「Hover over me」のテキスト部分にマウスカーソルを合わせると、以下のように紫のツールチップが現れます。

コードのポイント
- position: relative / absolute:親要素(.toolTip)にrelative、ツールチップ本体(.toolText)にabsoluteを指定することで、親要素を基準にした位置調整が可能になります。
- visibilityの切り替え:通常時はhiddenで非表示にしておき、
:hoverセレクターでvisibleに変更することで、マウスオーバー時にだけツールチップを表示させています。 - z-index: 1:ツールチップが他の要素の下に隠れないよう、重なり順序を制御しています。
- border-bottom:二重線の下線を付けることで、このテキストがホバー可能な要素であることを視覚的に示唆しています。
-
CSSイメージスプライトの利点とは?HTTPリクエスト削減でサイト表示を高速化する方法
Webサイトのパフォーマンス改善テクニックのひとつが「CSSイメージスプライト」です。複数の画像を1枚の画像ファイルにまとめることで、ブラウザがサーバーへ送信するHTTPリクエストの数を大幅に減らせます。リクエスト数が減ればサイトの読み込み時間は短縮され、ページの表示速度向上につながります。さらに、画像があらかじめ読み込まれた状態になるため、マウスオーバーなどのイベントで画像を切り替える際も動作がスムーズになり、画像の読み込み遅延によるちらつきを防ぐことができます。イメージスプライトとは?イメージスプライトとは、複数の小さな画像(アイコンなど)を1枚の大きな画像にまとめたものです。CSSのba
-
CSSのdata-*属性(カスタムデータ属性)の使い方を実例付きで解説
HTMLのdata-*属性(カスタムデータ属性)を使うと、要素に独自の追加情報を持たせることができます。この記事では、CSSやJavaScriptと組み合わせてdata-*属性を活用する方法を、具体的なコード例とともにわかりやすく解説します。 data-*属性とは? data-*属性は、「data-」で始まる任意の名前を付けられるHTMLの標準属性です。例えば data-food-type=beverages のように記述することで、表示には影響を与えずに要素へメタ情報を埋め込めます。JavaScriptからは getAttribute() や dataset プロパティで、CSSからは属性セ