ツールチップ
CoddyのHTMLジャーニー「Practical Frontend」セクションの一部 — レッスン 23/35。
ツールチップは、ユーザーがインターフェース要素にホバーしたりフォーカスしたりしたときに表示される、小さくて有益なポップアップ要素です。これらは、メインのUIを煩雑にすることなく、追加のコンテキストを提供します。
HTMLとCSSを使用して、基本的なツールチップを作成しましょう:
まず、HTML構造を作成します:
<div class="tooltip-container">
<button>Hover over me</button>
<span class="tooltip">This is a tooltip!</span>
</div>次に、ツールチップの配置と表示/非表示を切り替えるためのCSSを追加します:
.tooltip-container {
position: relative;
display: inline-block;
}
.tooltip {
visibility: hidden;
/* ツールチップを配置する */
position: absolute;
bottom: 125%;
left: 50%;
transform: translateX(-50%);
/* 表示される前にわずかな遅延を追加する */
opacity: 0;
transition: opacity 0.3s;
}
/* コンテナをホバーしたときにツールチップを表示する */
.tooltip-container:hover .tooltip {
visibility: visible;
opacity: 1;
}このコードを使用すると、ボタンにホバーしたときに、その上にツールチップが表示されます。
チャレンジ
簡単ユーザーが "Help" ボタンにホバーしたときに表示されるツールチップ付きのHTMLボタンが与えられています。あなたのタスクは以下の通りです:
- デフォルトでツールチップを非表示にします。
- 目立つように背景色とテキストの色を追加します。
- ツールチップ内のテキストを中央揃えにします。
- ツールチップの見た目を良くするために、パディングを追加します。
border-radiusを使用して角を丸くします。
チートシート
ツールチップは、インターフェース要素をホバーしたときに表示される、情報の提供を目的とした小さなポップアップ要素です。
基本的なHTML構造:
<div class="tooltip-container">
<button>Hover over me</button>
<span class="tooltip">This is a tooltip!</span>
</div>ツールチップの配置と表示・非表示を制御するためのCSS:
.tooltip-container {
position: relative;
display: inline-block;
}
.tooltip {
visibility: hidden;
position: absolute;
bottom: 125%;
left: 50%;
transform: translateX(-50%);
opacity: 0;
transition: opacity 0.3s;
}
.tooltip-container:hover .tooltip {
visibility: visible;
opacity: 1;
}自分で試してみよう
<!DOCTYPE html>
<html>
<head>
<title>Tooltips</title>
<style>
.tooltip-container {
position: relative;
display: inline-block;
margin: 50px;
}
button {
padding: 8px 16px;
cursor: pointer;
}
.tooltip {
/* Animation properties */
opacity: 0;
transition: opacity 0.3s;
}
/* Show the tooltip when hovering over the container */
.tooltip-container:hover .tooltip {
visibility: visible;
opacity: 1;
}
</style>
</head>
<body>
<div class="tooltip-container">
<button>Help</button>
<span class="tooltip">Click for assistance</span>
</div>
</body>
</html>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。