JSFiddle - React, Tailwind, and code Playground

by Hidayat Rifan

HTML

<div class="button-frame plastic">
    <div class="the-button plastic"></div>
</div>

CSS

html, body {
    width: 100%;
    height: 100%;
}
body {
    background: #38f;
}
.the-button {
    position: relative;
    width: 100%;
    height: 100%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    padding: 0;
    -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, 1), inset 0 .25em .3em rgba(255, 255, 255, .3), inset 0 -.25em .3em rgba(0, 0, 0, .5);
    -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, 1), inset 0 .25em .3em rgba(255, 255, 255, .3), inset 0 -.25em .3em rgba(0, 0, 0, .5);
    box-shadow: 0 0 .5em rgba(0, 0, 0, 1), inset 0 .25em .3em rgba(255, 255, 255, .3), inset 0 -.25em .3em rgba(0, 0, 0, .5);
    font: inherit;
    cursor: pointer;
}
.the-button:before {
    content:" ";
    position: absolute;
    left: 10%;
    top: 10%;
    width: 80%;
    height: 80%;
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.14)), color-stop(50%, rgba(255, 255, 255, 0)), color-stop(100%, rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0) 100%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
.the-button:active {
    -webkit-box-shadow: 0 0 .5em rgba(0, 0, 0, 1), inset 0 .1em .3em rgba(0, 0, 0, .5), inset 0 -.1em .3em rgba(0, 0, 0, .5);
    -moz-box-shadow: 0 0 .5em rgba(0, 0, 0, 1), inset 0 .1em .3em rgba(0, 0, 0, .5), inset 0 -.1em .3em...