CSSでテキストの右側にツールチップを表示する方法
Webページにツールチップを実装する際、テキストの右側にツールチップを表示したい場合は、CSSのleftプロパティを使用します。この記事では、実際に動作するサンプルコードとともに、その仕組みをわかりやすく解説します。
右側にツールチップを表示する仕組み
ポイントは、ツールチップの親要素にposition: relative;を指定し、ツールチップ本体にはposition: absolute;とleft: 100%;を設定することです。left: 100%は「親要素の幅いっぱい分だけ左からずらす」ことを意味するため、結果としてツールチップが親要素の右端に配置されます。
実装例
以下のコードは、マウスカーソルをテキストに重ねると、その右側に青色のツールチップが表示されるサンプルです。
<!DOCTYPE html>
<html>
<style>
.mytooltip .mytext {
visibility: hidden;
width: 140px;
background-color: blue;
color: #fff;
z-index: 1;
top: -6px;
left: 100%;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
}
.mytooltip {
position: relative;
display: inline-block;
}
.mytooltip:hover .mytext {
visibility: visible;
}
</style>
<body>
<div class = "mytooltip">Keep mouse cursor over me
<span class = "mytext"> My Tooltip text</span>
</div>
</body>
</html>コードの解説
- .mytooltip(親要素):
position: relative;とdisplay: inline-block;を設定し、ツールチップの基準位置となるコンテナとして機能します。 - .mytext(ツールチップ本体):
visibility: hidden;で初期状態では非表示にし、left: 100%;によって親要素の右側に絶対配置されます。z-index: 1;を指定することで、他の要素より手前に表示されます。 - :hover疑似クラス:マウスカーソルが重なったときに
visibility: visible;へ切り替え、ツールチップを表示します。
応用のヒント
同様の考え方で、right: 100%を使えば左側に、top: 100%やbottom: 100%を使えば上下にツールチップを表示することもできます。また、::after疑似要素とborderを組み合わせれば、矢印付きのツールチップも作成可能です。
-
CSSでツールチップの右側に矢印を表示する方法
CSSのleftプロパティを活用することで、ツールチップの右側に矢印を表示させることができます。実装のポイント矢印は::after疑似要素とborder(境界線)を組み合わせた定番テクニックで作成します。ツールチップ本体の左端(left: 100%)に疑似要素を配置し、4辺のうち左側のボーダーだけに色を指定することで、三角形の矢印として描画されます。残りの3辺はtransparent(透明)にしておくのがポイントです。サンプルコード以下のコードを実行すると、テキストにマウスカーソルを重ねたときに、右側へ矢印が付いたツールチップが表示されます。<!DOCTYPE html> <
-
CSSでツールチップの上部に矢印を追加する方法
ツールチップの上部に矢印を追加するには、CSSのbottomプロパティを活用します。:after疑似要素と組み合わせることで、画像を使わずに三角形の矢印を簡単に作成できます。 実装例 以下のコードを実行すると、上部に矢印が付いたツールチップを表示できます。テキストの上にマウスカーソルを重ねると、ツールチップが現れる仕組みです。 <!DOCTYPE html> <html> <style> .mytooltip .mytext { &nb