サンプルコード
See the Pen
tooltip by ninomae-makoto (@ninomae-makoto)
on CodePen.
HTML
<ul class="menu"> <li><a href="#">home</a><div class="tip"></div></li> <li><a href="#">about</a><div class="tip"></div></li> <li><a href="#">info</a><div class="tip"></div></li> </ul>
CSS
a
{
text-decoration: none;
color: #232323;
transition: color 0.3s ease;
}
a:hover
{
color: tomato;
}
li {
list-style-type: none;
}
.tip {
display: inline;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #777;
transition: all .3s;
opacity: 0;
}
.menu a:hover ~ .tip {
opacity: 1;
}
.tip::after {
content: "this is tooltip."
}
解説
.tip が入っているCSSが重要なポイントでそれ以外は直接関係がない。
.tip は主にデザインなど。
.menu a:hover ~ .tip でコンテンツ(リンク)がホバーされたときのツールチップのCSSを指定している。
idかclassを前に指定するほうが無難。
a:hover ~ .tip だけだと他に影響が出る可能性がある。
opacityを0から1にアニメーションさせることでふわっと浮き出るようになる。
::afterでツールチップのテキストを指定したほうがHTMLがスッキリする。
テキストを変える場合はHTMLに記述したほうが楽かもしれない。
参考
https://www.jungleocean.com/demo/tooltip-css/