JSFiddle - React, Tailwind, and code Playground

by panique

HTML

<div style="width:330px; height:80px; margin: 80px auto 0 auto;">

    <a href="#" class="share-btn twitter-btn">
        <div class="btn-top">
            12
            <span class="btn-arrow"></span>
        </div>
        <div class="btn-bottom">
            <span class="btn-icon"></span>
            Tweet
        </div>
    </a>

    <a href="#" class="share-btn facebook-btn">
        <div class="btn-top">
            34
            <span class="btn-arrow"></span>
        </div>
        <div class="btn-bottom">
            <span class="btn-icon"></span>
            Like
        </div>
    </a>

    <a href="#" class="share-btn gplus-btn">
        <div class="btn-top">
            56
            <span class="btn-arrow"></span>
        </div>
        <div class="btn-bottom">
            <span class="btn-icon"></span>
            +1
        </div>
    </a>

</div>

CSS

.share-btn {
    width: 80px;
    height: 80px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .25);
    border-radius: 10px;
    color: #444444;
    display: block;
    float: left;
    font-family: "Proxima Nova", "Helvetica Neue", sans-serif;
    font-weight: 600;
    margin: 0 15px;
    text-decoration: none;
}

.share-btn .btn-top {
    width: 78px;
    height: 40px;
    background: #e5eef2;
    background-image: -webkit-linear-gradient(top, rgba(0,0,0,0.03) 0%,rgba(0,0,0,0) 50%,rgba(0,0,0,0) 100%);
    border: 1px solid #b9b9b9;
    border-bottom: none;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 1px 0 rgba(255, 255, 255, .5) inset;
    display: inline-block;
    font-size: 22px;
    line-height: 40px;
    position: relative;
    text-align: center;
    text-shadow: 0 1px 0 #fff;
}

.share-btn .btn-arrow {
    width: 0;
    height: 0;
    border-color: rgba(146, 146, 146, .5) transparent transparent transparent;
    border-style: solid;
    border-width: 8px;
    display: block;
    margin: 0 auto;
    position: relative;
    z-index: 10;
}

.twitter-btn .btn-arrow {
    border-color: rgba(111, 164, 181, .5) transparent transparent transparent;
}

.facebook-btn .btn-arrow {
    border-color: rgba(53, 83, 143, .5) transparent transparent transparent;
}

.gplus-btn .btn-arrow {
    border-color: rgba(48, 48, 48, .5) transparent transparent transparent;
}

.share-btn .btn-arrow::after {
    width: 0;
    height: 0;
    border-color: #e5eef2 transparent transparent transparent;
    border-style: solid;
    border-width: 6px;
    content: "_";
    display: block;
    float: left;
    position: relative;
    top: -8px;
    left: -6px;
    text-indent: -9999px;
    z-index: -10;
}

.share-btn .btn-bottom {
    width: 78px;
    height: 32px;
    background: #ababab url(http://noisepng.com/75-80-3-monochrome.png) repeat;
    border: 1px solid #929292;
    border-bottom: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 0 5px rgba(255, 255, 255, .5) inset,
 ...

JavaScript

// Button design by @SachaGreif http://drbl.in/cxOG
// Coded by @davidbalcak