【Labs】CSSだけでツールチップ
こんにちは(・∀・)
今回ご紹介するのはCSSだけで作ったツールチップです。前回ご紹介しましたjQueryでツールチップと動きはほぼ同じです。
主に、visibility、opacity、transitionの各プロパティで動きのある表現を行っております。jQueryを使わないこちらのツールチップでも動きの表現は十分ではないかと思います。
サンプル
HTML
<p style="width: 600px; margin: 0 auto;">ツールチップのサンプルです。<br>ここはツールチップ直前の要素です。次のリンクにカーソルを合わせるとツールチップがこの要素の上に重ねて表示されます。<br></p>
<div class="sample-demo">
<ul class="tooltip">
<li>
<a href="https://www.webdlab.com/">HOME</a>
<span>Webデザインラボ<br>ホームへ<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/html/">HTML5</a>
<span>HTMLリファレンス<br>はこちら<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/css/">CSS3</a>
<span>CSSリファレンス<br>はこちら<p></p></span>
</li>
</ul>
<ul class="tooltip2">
<li>
<a href="https://www.webdlab.com/">HOME</a>
<span>Webデザインラボ<br>ホームへ<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/html/">HTML5</a>
<span>HTMLリファレンス<br>はこちら<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/css/">CSS3</a>
<span>CSSリファレンス<br>はこちら<p></p></span>
</li>
</ul>
<!--sample-demo--></div>
<p style="width: 600px; margin: 0 auto;">ツールチップのサンプルです。<br>ここはツールチップ直後の要素です。前のリンクにカーソルを合わせるとツールチップがこの要素の上に重ねて表示されます。<br></p>
CSS
.sample-demo .tooltip,
.sample-demo .tooltip2 {
width: 600px;
margin: 10px auto;
list-style: none;
}
.sample-demo .tooltip li,
.sample-demo .tooltip2 li {
display: inline-block;
position: relative;
text-align: center;
margin: 0 10px;
padding: 5px;
}
.sample-demo .tooltip li a,
.sample-demo .tooltip2 li a {
display: inline-block;
padding: 5px;
}
.sample-demo .tooltip li span {
background: #afc6e2;
color: #fff;
width: 180px;
height: 65px;
padding: 10px;
position: absolute;
top: -80px;
left: 0;
text-align: left;
z-index: 2;
visibility: hidden;
opacity: 0;
transition: 0.3s;
}
.sample-demo .tooltip li span p {
width: 0;
height: 0;
position: relative;
top: 7px;
left: 10px;
border: 10px solid transparent;
border-top: 10px solid #afc6e2;
}
.sample-demo .tooltip li a:hover + span {
height: 65px;
top: -85px;
visibility: visible;
opacity: 1;
transition: 0.5s;
}
.sample-demo .tooltip2 li span {
background: #afc6e2;
color: #fff;
width: 180px;
height: 65px;
padding: 10px;
position: absolute;
top: 35px;
left: 0;
text-align: left;
z-index: 2;
visibility: hidden;
opacity: 0;
transition: 0.3s;
}
.sample-demo .tooltip2 li span p {
width: 0;
height: 0;
position: relative;
top: -78px;
left: 10px;
border: 10px solid transparent;
border-bottom: 10px solid #afc6e2;
}
.sample-demo .tooltip2 li a:hover + span {
height: 65px;
top: 40px;
visibility: visible;
opacity: 1;
transition: 0.5s;
}