JSFiddle - React, Tailwind, and code Playground

by blineberry

HTML

<a class="btn-back" href="#">Back</a>

CSS

.btn-back {
    display: inline-block;
    position: relative;
    z-index: 1;
    padding: 0 10px 0 30px;
    
    line-height: 44px;
    text-shadow: 0 -1px #4d4d4d;
    color: #E5E5E5;
    text-decoration: none;
    font-family: sans-serif;
    font-size: 12px;
    
    -webkit-transition: all 0.2s;
}
.btn-back:before {
    content: '';
    
    position: absolute;
    box-sizing: border-box;
    left: 20px;
    right: 0;
    height: 34px;
    margin-top: 5px;
    z-index: -1;
    
    border: 1px solid #808080;
    border-bottom-color: #b3b3b3;
    border-top-color: #4d4d4d;
    border-left-width: 0;
    border-radius: 5px;
    
    background: #808080;
    background-image: -webkit-linear-gradient(top, #b3b3b3, #4d4d4d);
    
    -webkit-transition: all 0.2s;
}

.btn-back:after {
    content: '';
    
    position: absolute;
    box-sizing: border-box;
    left: 10px;
    height: 24px;
    width: 24px;
    top: 10px;
    z-index: -2;
    
    border: 1px solid #FFF;
    border-top: 0 transparent;
    border-right: 0 transparent;
    border-bottom-color: #b3b3b3;
    border-left-color: #4d4d4d;
    border-radius: 5px;
    
    background: #808080;
    background-image: -webkit-linear-gradient(315deg, #b3b3b3, #4d4d4d);
    
    -webkit-transform: rotate(45deg);
    -webkit-transition: all 0.2s;
}


.btn-back:hover:before {
    background-image: -webkit-linear-gradient(top, #b3b3b3 -25%, #4d4d4d 75%);
}
.btn-back:hover:after {
    background-image: -webkit-linear-gradient(315deg,#b3b3b3 -25%, #4D4D4D 75%);
}


.btn-back:active:before,
.btn-back:active:after {
    background: #4D4D4D;
    box-shadow: inset 0px 1px 0px #000;
}
.btn-back:active:after {
    box-shadow: inset 1px 1px 0px #000;
}