JSFiddle - React, Tailwind, and code Playground

by secretgspot

HTML

<div class="ringMenu">
  <ul>
    <li class="main"><a href="#main">&#10012;</a></li>
    <li class="top"><a href="#top" title='Props it'>&#9728;</a></li>
    <li class="right"><a href="#right" title='Delete'>&#9760;</a></li>
    <li class="bottom"><a href="#bottom" title='Neg it'>&#9729;</a></li>
    <li class="left"><a href="#left" title='Quote'>&#9988;</a></li>
  </ul>
</div>

CSS

.ringMenu {
  font-size:30px;
  position:relative;
  left: 200px;
  top: 200px;
  width: 65px;
  height: 61px;
}
.ringMenu ul,.ringMenu li {
  margin: 0;
  padding: 0;
} 
.ringMenu ul {
  list-style: none;
  position: relative;
  width: 65px;
}
.ringMenu ul a {
  color:#000;
  text-decoration: none;
}
.ringMenu ul li {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.ringMenu ul li a {
  display: block;
  width: 60px;
  height: 60px;
  background:#6FBF4D;
  text-align: center;
  line-height: 60px;
  -webkit-border-radius: 50px;
  -moz-border-radius: 50px;
  border-radius: 50px;
}
.ringMenu ul li a:hover {
  color:#000;
  border:1px solid #9CFFA5;
  -webkit-box-shadow:0 0 5px #9CFFA5;
  -moz-box-shadow:0 0 5px #9CFFA5;
  box-shadow:0 0 5px #9CFFA5;
}
/* Default State */
.ringMenu ul li.main {
  /* Make it blink or something */
}
.ringMenu ul li:not(.main) { /* Hide options */
  -webkit-transform: scale(0);
  -moz-transform: scale(0);
  -o-transform: scale(0);
  transform: scale(0);
  opacity: 0;
}

/* Main Hover State */
.ringMenu:hover ul li {
  -webkit-transform:  scale(1);
  -moz-transform: scale(1);
  -o-transform:  scale(1);
  transform:  scale(1);
  opacity: 1;
}
/* li hover position states */
.ringMenu ul li.top {
  -webkit-transform-origin: 50% 52px;
  -moz-transform-origin: 50% 52px;
  -o-transform-origin: 50% 52px;
  transform-origin: 50% 52px;
  position: absolute;
  top: -50px;
  left: 0;
}
.ringMenu ul li.bottom {
  -webkit-transform-origin: 50% -2px;
  -moz-transform-origin: 50% -2px;
  -o-transform-origin: 50% -2px;
  transform-origin: 50% -2px;
  position: absolute;
  bottom: -50px;
  left: 0;
}
.ringMenu ul li.right {
  -webkit-transform-origin: 2px 50%;
  -moz-transform-origin: 2px 50%;
  -o-transform-origin: 2px 50%;
  transform-origin: 2px 50%;
  position: absolute;
  top: 0px;
  right: -50px;
}
.ringMenu ul li.left {
 ...