どうも、ジャングルオーシャンのミケです。
今日はツールチップの作り方の紹介だよ。
ツールチップとは
ツールチップとはある要素にマウスカーソルを合わせたときに
補足説明などの要素を表示するものだよ。
具体的なイメージはサンプルデモページを見てみてね。
サンプルデモを見る
HTMLとCSSだけで簡単に実装できるからぜひ実装してみてね。
それじゃそれぞれのソースコードを見ていこう。
1.テキストで上に作るツールチップ
HTML
1 2 3 4 |
<div class="tooltip1"> <p>テキスト</p> <div class="description1">説明を入力してください。 </div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
.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; } |
2.テキストで右に作るツールチップ
HTML
1 2 3 4 |
<div class="tooltip2"> <p>テキスト</p> <div class="description2">説明を入力してください。</div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
.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; } |
3.テキストで下に作るツールチップ
HTML
1 2 3 4 |
<div class="tooltip3"> <p>テキスト</p> <div class="description3">説明を入力してください。</div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
.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; } |
4.テキストで左に作るツールチップ
HTML
1 2 3 4 |
<div class="tooltip4"> <p>テキスト</p> <div class="description4">説明を入力してください。</div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
.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; } |
5.画像で作るツールチップ
HTML
1 2 3 4 |
<div class="tooltip5"> <img src="https://www.jungleocean.com/demo/tooltip-css/images/T.jpg" /> <div class="description5">説明を入力してください。</div> </div> |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
.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; } |
最後に
ツールチップは補足説明などをする時にすごく便利だよね。
限られたスペースでどうデザインするかという時に役立つと思うから
覚えておいて損はないと思うよ!
ぜひ使ってみてね。
それじゃまた今度!
TwitterやFacebookのフォローよろしくね!
Twitter
@michelgorilla
Facebook
ミケランジェロ