CSSでツールチップに矢印を追加する方法
CSSでツールチップに矢印を追加する方法
CSSを使えば、:after 疑似要素を利用して、ツールチップに小さな矢印を簡単に追加できます。矢印を作成する際には、content プロパティも併せて指定します。
矢印が表示される仕組み
ここで使われているのは、border(境界線)を活用した定番のテクニックです。サイズを持たない空の要素に対して、上方向だけに色の付いた太いボーダーを設定し、残る3辺を透明(transparent)にすることで、三角形の矢印として描画されます。
サンプルコード
次のコードを実行して、ツールチップへの矢印追加を試してみてください。マウスカーソルをテキストに重ねると、青い背景のツールチップと、その下に突き出た矢印が表示されます。
<!DOCTYPE html>
<html>
<style>
.mytooltip .mytext {
visibility: hidden;
width: 140px;
background-color: blue;
color: #fff;
z-index: 1;
bottom: 100%;
left: 60%;
margin-left: -90px;
text-align: center;
border-radius: 6px;
padding: 5px 0;
position: absolute;
}
.mytooltip {
position: relative;
display: inline-block;
margin-top: 50px;
}
.mytooltip .mytext:after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -10px;
border-width: 7px;
border-style: solid;
border-color: blue transparent transparent transparent;
}
.mytooltip:hover .mytext {
visibility: visible;
}
</style>
<body>
<div class="mytooltip">マウスカーソルを重ねてください
<span class="mytext">ツールチップのテキスト</span>
</div>
</body>
</html>
ポイント解説
- :after 疑似要素:ツールチップ本体(.mytext)の直後に、矢印用の擬似要素を生成します。
- border-color の指定:上側のみ blue、残り3辺は transparent にすることで、下向きの三角形を作っています。
- top: 100%:矢印をツールチップの下端に配置するための指定です。
- :hover:マウスオーバー時に visibility を visible に切り替えることで、ツールチップを表示させています。
-
CSSだけでツールチップを作成する方法をわかりやすく解説
Webページでテキストやボタンにマウスカーソルを合わせたときに、補足説明がふわりと表示される「ツールチップ」。JavaScriptを使わなくても、CSSだけでも簡単に実装できることをご存じでしょうか。この記事では、CSSのposition、visibility、opacity、そして:hover擬似クラスを組み合わせて、吹き出し付きのツールチップを作成する方法を紹介します。ツールチップの仕組み基本的な仕組みは以下の通りです。親要素(.tooltip)にposition: relative;を指定し、基準位置とします。ツールチップ本体(.toolText)はposition: absolute;
-
CSSでホバー時にトランジション(アニメーション)を追加する方法を解説
CSSでホバー時にトランジション(滑らかなアニメーション効果)を追加するには、transitionプロパティと:hover疑似クラスを組み合わせて使用します。あらかじめ要素にtransitionを設定しておくことで、ホバー時の変化が瞬時に切り替わるのではなく、指定した時間をかけてスムーズに変化するようになります。 サンプルコード <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1&q