JSFiddle - React, Tailwind, and code Playground
HTML
<div style="background:#000;">
<div class="icon-wrap icon-effect"> <a href="#">
<div class="icoback">
<div class="icon">
</div>
<div class="arrow-down"></div>
</div>
</a>
</div>
</div>
CSS
.icon-wrap {
text-align: center;
margin: 0 auto;
padding: 0em 0 0em;
}
.icon, .icoback {
display: inline-block;
font-size: 0px;
cursor: pointer;
margin: 15px 30px;
margin-top:2vh;
width: 90px;
height: 90px;
border-radius: 50%;
text-align: center;
position: relative;
z-index: 10;
color: #fff;
}
.icon {
position:absolute;
top:0;
left:0;
margin:0;
}
.icon:after, .icoback:after {
pointer-events: none;
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
-ms-box-sizing: content-box;
box-sizing: content-box;
}
.icon:before {
background-color: #cccccc;
}
/* Sonar Effect */
.icon-effect .icon, .icoback {
background: rgba(255, 255, 255, 0.1);
-webkit-transition: -webkit-transform ease-out 0.1s, background .5s;
-webkit-transition: -webkit-transform ease-out 0.1s, background .5s;
-webkit-transition: -webkit-transform ease-out 0.1s, background .5s;
-webkit-transition: -webkit-transform ease-out 0.1s, background .5s;
transition: transform ease-out 0.1s, background .5s;
}
.icon-effect .icon:after, .icoback:after {
top: 0;
left: 0;
padding: 0;
z-index: -1;
-webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.1);
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
opacity: 0;
-webkit-transform: scale(0.9);
-moz-transform: scale(0.9);
-o-transform: scale(0.9);
-ms-transform: scale(0.9);
transform: scale(0.9);
}
.icon-effect .icon:hover, .icoback:hover {
background: rgba(255, 255, 255, 0.05);
-webkit-transform: scale(0.93);
-moz-transform: scale(0.93);
-o-transform: scale(0.93);
-ms-transform: scale(0.93);
transform: scale(0.93);
color: #fff;
}
.icoback:hover .arrow-down {
-webkit-transform:...