owned mediaウェブ制作に役立つコンテンツを発信中!

HTMLのdata属性を使ってツールチップを実装する

最終更新日: Update!!
今回はHTMLのdata属性(カスタムデータ属性)を使ってシンプルなツールチップを実装してみます。このdata属性はdata-*****の表記で自由な属性名を定義できるカスタムデータ属性というHTML5で定義されている仕様になります。ちなみに、この方法ですとjQueryなどのjavascript不要でHTMLとCSSだけで実装することができます。   それでは早速コードの方をみていきましょう!  
data属性を使ったツールチップの実装
まずはツールチップを表示させる要素をHTMLで作成します。この時にdata属性を設定し、その値にツールチップで表示させるテキストを設定します。またdata属性のハイフン以降は任意の表記にしますが、きちんと意味をもたせた内容にします。   【HTML】
<span class="tooltip" data-tooltip="Hello!!">ツールチップ表示サンプル</span>
次にツールチップ部分をCSSで整えていきます。今回はhoverでツールチップが表示されるようにしていきます。   【CSS】
.tooltip {
  position: relative;
}
.tooltip::before,
.tooltip::after {
  position: absolute;
  transition: all 0.3s ease 0s;
  opacity: 0;
}
.tooltip::before {
  content: "";
  border: 10px solid transparent;
  border-bottom-color: #000;
  top: 10px;
  left: 10px;
}
.tooltip::after {
  content: attr(data-tooltip);
  display: block;
  padding: 20px;
  background: #000;
  color: #fff;
  border-radius: 5px;
  top: 30px;
  left: 0;
}
.tooltip:hover::before{
  top: 16px;
  opacity: 1;
}
.tooltip:hover::after{
  top: 36px;
  opacity: 1;
}
  解説しますと、ツールチップの吹き出し本体をafter擬似要素、吹き出し矢印部分をbefore擬似要素のボーダーで作成します。またこの時は非表示時の位置を指定しますが、表示時の位置についてはhover擬似クラスを使って指定します。   実際のサンプルを以下に用意しましたので確認してみてください。   >> ツールチップ表示サンプル(マウスオーバーで表示) <<   いかがでしょうか、ちょっとした効果ですが何かと使える場面は多いかと思います。 この方法だと手軽に導入できるのもメリットとして大きいですね。    
  • はてなブックマーク
  • Pocket
  • Linkedin
  • Feedly

この記事を書いた人

Twitter

sponserd

    keyword search

    recent posts

    • Twitter
    • Github
    contact usscroll to top
      • Facebook
      • Twitter
      • Github
      • Instagram