どうも、ジャングルオーシャンのミケです。
今日はツールチップの作り方の紹介だよ。
ツールチップとは
ツールチップとはある要素にマウスカーソルを合わせたときに
補足説明などの要素を表示するものだよ。
具体的なイメージはサンプルデモページを見てみてね。
サンプルデモを見る
HTMLとCSSだけで簡単に実装できるからぜひ実装してみてね。
それじゃそれぞれのソースコードを見ていこう。
1.テキストで上に作るツールチップ
HTML
テキスト
説明を入力してください。
CSS
.tooltip1{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip1 p{
margin:0;
padding:0;
}
.description1 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description1:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
}
.tooltip1:hover .description1{
display: inline-block;
top: -70px;
left: -30px;
}
ツールチップの吹き出しはdisplay:none;で隠してあってテキストにマウスオーバーするとdisplay:inline-block;で表示されるという仕組みだよ。
2.テキストで右に作るツールチップ
HTML
テキスト
説明を入力してください。
CSS
.tooltip2{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip2 p{
margin:0;
padding:0;
}
.description2 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description2:before {
content: "";
position: absolute;
top: 0%;
right: 95%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(90deg);
}
.tooltip2:hover .description2{
display: inline-block;
top: 0px;
left: 80px;
}
吹き出しの位置を.tooltip2:hover .description2で移動させて吹き出しについている矢印はtransform: rotateZ(90deg);で回転させているよ。
3.テキストで下に作るツールチップ
HTML
テキスト
説明を入力してください。
CSS
.tooltip3{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip3 p{
margin:0;
padding:0;
}
.description3 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description3:before {
content: "";
position: absolute;
top: -24px;
right: 60%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(180deg);
}
.tooltip3:hover .description3{
display: inline-block;
top: 30px;
left: 0px;
}
吹き出しの位置を.tooltip2:hover .description2で移動させて吹き出しについている矢印はtransform: rotateZ(180deg);で回転させているよ。
4.テキストで左に作るツールチップ
HTML
テキスト
説明を入力してください。
CSS
.tooltip4{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip4 p{
margin:0;
padding:0;
}
.description4 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description4:before {
content: "";
position: absolute;
top: 0px;
left: 130px;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
transform: rotateZ(270deg);
}
.tooltip4:hover .description4{
display: inline-block;
top: 0px;
left: -130px;
}
吹き出しの位置を.tooltip2:hover .description2で移動させて吹き出しについている矢印はtransform: rotateZ(270deg);で回転させているよ。
5.画像で作るツールチップ
HTML
説明を入力してください。
CSS
.tooltip5{
position: relative;
cursor: pointer;
display: inline-block;
}
.tooltip5 img{
width: 20px;
}
.description5 {
display: none;
position: absolute;
padding: 10px;
font-size: 12px;
line-height: 1.6em;
color: #fff;
border-radius: 5px;
background: #000;
width: 100px;
}
.description5:before {
content: "";
position: absolute;
top: 100%;
left: 50%;
border: 15px solid transparent;
border-top: 15px solid #000;
margin-left: -15px;
}
.tooltip5:hover .description5{
display: inline-block;
top: -75px;
left: -50px;
}
さっきまでのテキストが画像になったけどツールチップの表示方法は同じようにdisplay:none;からのdisplay:inline-block;だよ。このサンプルの吹き出し位置は上にしているよ。
最後に
ツールチップは補足説明などをする時にすごく便利だよね。
限られたスペースでどうデザインするかという時に役立つと思うから
覚えておいて損はないと思うよ!
ぜひ使ってみてね。
それじゃまた今度!
TwitterやFacebookのフォローよろしくね!
Twitter
@michelgorilla
Facebook
ミケランジェロ
