コピペでできる!CSSとhtmlのみで作るツールチップ

CSS HTML
 2018.01.24
 2018.03.22

テキストをマウスオーバーすることでツールチップを表示するサンプルです。
<span>に設定された「data-tooltip」をチップとして出すものと、<span></span>で挟んだテキストをツールチップとして表示するものを用意しています。

注意
スマートフォンについては、タップでHOVERはできますが表示したツールチップを非表示にする場合、javascriptにて制御が必要です。
browser:  65 11 20 10 

テキストをマウスオーバーすることでツールチップを表示するサンプル

シンプルなツールチップ

ニャン易度
テキストのマウスオーバーでツールチップが下に出ます
<div class="cp_tooltip">テキスト<span data-tooltip="ツールチップテキスト" class="cp_tooltiptext">マウスオーバーテキスト</span>テキスト</div>
.cp_tooltip {
	display: inline-block;
}
.cp_tooltiptext {
	position: relative;
	cursor: pointer;
	background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltiptext::after {
	position: absolute;
	transition: all 0.3s ease 0s;
	opacity: 0;
	top: 0px;/*HOVERのスタート位置*/
	left: 0px;
	display: block;
	padding: 0.2em 0.5em;
	content: attr(data-tooltip);
	white-space: nowrap;
	color: #ffffff;
	border-radius: 6px;
	background: #1b2538;
}
.cp_tooltiptext:hover::after {
	top: 26px;/*HOVER位置*/
	opacity: 1;
}

吹き出しでツールチップを表示(上下左右)

ニャン易度
テキストの
マウスオーバーHello! tooltip
でツールチップが上に出ます
テキスト<div class="cp_tooltip">マウスオーバーテキスト<span class="cp_tooltiptext">ツールチップテキスト</span></div>テキスト
.cp_tooltip {
	position: relative;
	display: inline-block;
	cursor: pointer;
	background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltip .cp_tooltiptext {
	position: absolute;
	z-index: 1;
	bottom: 100%;
	left: 0;
	visibility: hidden;
	width: auto;
	white-space: nowrap;
	padding: 0.3em 0.5em;
	transition: opacity 1s;
	text-align: center;
	opacity: 0;
	color: #ffffff;
	border-radius: 6px;
	background-color: #da3c41;
}
.cp_tooltip .cp_tooltiptext::after {
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -5px;
	content: ' ';
	border: 5px solid transparent;
	border-top-color: #da3c41;
}
.cp_tooltip:hover .cp_tooltiptext {
	visibility: visible;
	opacity: 1;
}

ニャン易度
テキストの
マウスオーバーHello! tooltip
でツールチップが下に出ます
テキスト<div class="cp_tooltip">マウスオーバーテキスト<span class="cp_tooltiptext">ツールチップテキスト</span></div>テキスト
.cp_tooltip {
	position: relative;
	display: inline-block;
	cursor: pointer;
	background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltip .cp_tooltiptext {
	position: absolute;
	z-index: 1;
	top: 120%;
	left: 0;
	visibility: hidden;
	width: auto;
	white-space: nowrap;
	padding: 0.3em 0.5em;
	transition: opacity 1s;
	text-align: center;
	opacity: 0;
	color: #ffffff;
	border-radius: 6px;
	background-color: #da3c41;
}
.cp_tooltip .cp_tooltiptext::after {
	position: absolute;
	bottom: 100%;
	left: 50%;
	margin-left: -5px;
	content: ' ';
	border: 5px solid transparent;
	border-bottom-color: #da3c41;
}
.cp_tooltip:hover .cp_tooltiptext {
	visibility: visible;
	opacity: 1;
}

ニャン易度
テキストの
マウスオーバーHello! tooltip
でツールチップが左に出ます
テキスト<div class="cp_tooltip">マウスオーバーテキスト<span class="cp_tooltiptext">ツールチップテキスト</span></div>テキスト
.cp_tooltip {
	position: relative;
	display: inline-block;
	cursor: pointer;
	background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltip .cp_tooltiptext {
	position: absolute;
	z-index: 1;
	top: -5px;
	right: 105%;
	visibility: hidden;
	/*width: auto;*/
	white-space: nowrap;
	padding: 0.3em 0.5em;
	transition: opacity 1s;
	text-align: center;
	opacity: 0;
	color: #ffffff;
	border-radius: 6px;
	background-color: #da3c41;
}
.cp_tooltip .cp_tooltiptext::after {
	position: absolute;
	top: 40%;
	left: 104%;
	margin-left: -5px;
	content: ' ';
	border: 5px solid transparent;
	border-left-color: #da3c41;
}
.cp_tooltip:hover .cp_tooltiptext {
	visibility: visible;
	opacity: 1;
}

ニャン易度
テキストの
マウスオーバーHello! tooltip
でツールチップが右に出ます
テキスト<div class="cp_tooltip">マウスオーバーテキスト<span class="cp_tooltiptext">ツールチップテキスト</span></div>テキスト
.cp_tooltip {
	position: relative;
	display: inline-block;
	cursor: pointer;
	background: linear-gradient(transparent 60%, #f19ec2 60%);
}
.cp_tooltip .cp_tooltiptext {
	position: absolute;
	z-index: 1;
	top: -5px;
	left: 105%;
	visibility: hidden;
	/*width: auto;*/
	white-space: nowrap;
	padding: 0.3em 0.5em;
	transition: opacity 1s;
	text-align: center;
	opacity: 0;
	color: #ffffff;
	border-radius: 6px;
	background-color: #da3c41;
}
.cp_tooltip .cp_tooltiptext::after {
	position: absolute;
	top: 40%;
	right: 100%;
	margin-left: -5px;
	content: ' ';
	border: 5px solid transparent;
	border-right-color: #da3c41;
}
.cp_tooltip:hover .cp_tooltiptext {
	visibility: visible;
	opacity: 1;
}

copypet.jp

CSS3などで新たに追加された要素・装飾方法など、日々コードを書いていないと忘れてしまったり、ささっとプロトタイプを作る時などちょっとしたことに時間をかけている暇はない。そんな時に「あ〜、あれストックしときゃよかったなぁ」って困った自分用のストックブログです。カスタマイズなどがしやすいよう、昨今のweb制作に取り入れられる一般的なコードを中心に掲載しています。

More Info

こんな記事はいかがですか?