
HTMLのdata属性を使ってツールチップを実装する
今回は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擬似クラスを使って指定します。
実際のサンプルを以下に用意しましたので確認してみてください。
>> ツールチップ表示サンプル(マウスオーバーで表示) <<
いかがでしょうか、ちょっとした効果ですが何かと使える場面は多いかと思います。
この方法だと手軽に導入できるのもメリットとして大きいですね。
categories
- WordPress(61)
- JavaScript(49)
- Vue.js(48)
- CSS(46)
- jQuery(34)
- Nuxt.js(22)
- Sass(21)
- Gulp(17)
- webpack(16)
- PHP(14)
- HTML(14)
- GSAP(11)
- React(10)
- Vite(9)
- Pug(9)
- Laravel(8)
- Cordova(8)
- Linux(7)
- Next.js(6)
- Apache(5)
- Shopify(4)
- REST API(4)
- Node.js(4)
- Smarty(3)
- Git(3)
- JSON(3)
- その他プログラミング(3)
- Google Apps API(3)
- Bootstrap(3)
- 環境構築・システム(3)
- TypeScript(2)
- EJS(2)
- RMS(2)
- Docker(2)
- Instagram API(2)
- Excel VBA(2)
- SVG(1)
- Dart(1)
- ECカートASP(1)
- Markdown(1)
- AMP(1)
- Nginx(1)
- XML(1)
- shellscript(1)
- Ruby(1)
- MySQL(1)