JSFiddle - React, Tailwind, and code Playground

by Ashish Kasama

HTML

<div class="omnibutton">
<a class="omnibutton-button" data-reactid=".5.3.0:$button"><svg class="icon plusIcon omnibutton-plusIcon" viewBox="0 0 32 32" data-reactid=".5.3.0:$button.0"><polygon points="28,14 18,14 18,4 14,4 14,14 4,14 4,18 14,18 14,28 18,28 18,18 28,18" data-reactid=".5.3.0:$button.0.0"></polygon></svg></a>
</div>

CSS

.omnibutton {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-shrink: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0 15px;
    position: relative;
}
.omnibutton-plusIcon {
    fill: #fff;
}
.icon {
    height: 16px;
    width: 16px;
}

.omnibutton-button {
  cursor:pointer;
    background: -webkit-linear-gradient(bottom left, #FC636B, #FF6D92 35%, #FFB900 100%);
    background: linear-gradient(to top right, #FC636B, #FF6D92 35%, #FFB900 100%);
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 12px;
    box-sizing: border-box;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    height: 24px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 24px;
    z-index: 0;
}

.omnibutton-button::after {
    background: -webkit-linear-gradient(bottom left, #FC636B, #FF6D92 35%, #FFB900 100%);
    background: linear-gradient(to top right, #FC636B, #FF6D92 35%, #FFB900 100%);
    border-radius: 16px;
    bottom: 0;
    content: "";
    height: 24px;
    left: 0;
    margin: auto;
    opacity: .5;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: .2s height,.2s width;
    transition: .2s height,.2s width;
    width: 24px;
    z-index: -1;
}
.omnibutton-button:hover::after, .omnibutton-button:active::after {
    height: 32px;
    width: 32px;
}