Normal CSS Tooltip
Normal CSS Tooltip with three variation fade, swing and expand
by Yogesh Kanthale
HTML
<ul>
<li><span class="tooltip-yo fade" data-title="HTML5 is a markup language">HTML 5</span></li>
<li><span class="tooltip-yo swing" data-title="Cascading Style Sheets is a style sheet language">CSS 3</span></li>
<li><span class="tooltip-yo expand" data-title="JS, is a programming language">Javascript</span></li>
</ul>
CSS
/* normal tooltips by y2kanthale */
.tooltip-yo {
position: relative;
}
.tooltip-yo:before,
.tooltip-yo:after {
display: block;
opacity: 0;
pointer-events: none;
position: absolute;
}
.tooltip-yo:after {
border-right: 6px solid transparent;
border-bottom: 6px solid rgba(0,0,0,.75);
border-left: 6px solid transparent;
content: '';
height: 0;
top: 20px;
left: 20px;
width: 0;
}
.tooltip-yo:before {
background: rgba(0,0,0,.75);
border-radius: 2px;
color: #fff;
content: attr(data-title);
font-size: 14px;
padding: 6px 10px;
top: 26px;
white-space: nowrap;
}
/* the animations */
/* fade */
.tooltip-yo.fade:after,
.tooltip-yo.fade:before {
transform: translate3d(0,-10px,0);
transition: all .15s ease-in-out;
}
.tooltip-yo.fade:hover:after,
.tooltip-yo.fade:hover:before {
opacity: 1;
transform: translate3d(0,0,0);
}
/* expand */
.tooltip-yo.expand:before {
transform: scale3d(.2,.2,1);
transition: all .2s ease-in-out;
}
.tooltip-yo.expand:after {
transform: translate3d(0,6px,0);
transition: all .1s ease-in-out;
}
.tooltip-yo.expand:hover:before,
.tooltip-yo.expand:hover:after {
opacity: 1;
transform: scale3d(1,1,1);
}
.tooltip-yo.expand:hover:after {
transition: all .2s .1s ease-in-out;
}
/* swing */
.tooltip-yo.swing:before,
.tooltip-yo.swing:after {
transform: translate3d(0,30px,0) rotate3d(0,0,1,60deg);
transform-origin: 0 0;
transition: transform .15s ease-in-out, opacity .2s;
}
.tooltip-yo.swing:after {
transform: translate3d(0,60px,0);
transition: transform .15s ease-in-out, opacity .2s;
}
.tooltip-yo.swing:hover:before,
.tooltip-yo.swing:hover:after {
opacity: 1;
transform: translate3d(0,0,0) rotate3d(1,1,1,0deg);
}