JSFiddle - React, Tailwind, and code Playground
by secretgspot
HTML
<div class="ringMenu">
<ul>
<li class="main"><a href="#main">✜</a></li>
<li class="top"><a href="#top" title='Props it'>☀</a></li>
<li class="right"><a href="#right" title='Delete'>☠</a></li>
<li class="bottom"><a href="#bottom" title='Neg it'>☁</a></li>
<li class="left"><a href="#left" title='Quote'>✄</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 {
...