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);
}