JSFiddle - React, Tailwind, and code Playground

HTML

<body>
    <div id="demo">
        <nav>
            <ul>
                <li> 
                    <a class="nav nav-blue" href="#">
                        <span class="label-wrapper">
                            <span class="label">Home</span>
                        </span>
                        <span class="nav-after"></span>
                    </a>
                </li>
                <li> 
                    <a class="nav nav-green" href="#">
                        <span class="label-wrapper"> 
                            <span class="label">About</span>
                        </span>
                        <span class="nav-after"></span>
                    </a>

                </li>
                <li> 
                    <a class="nav nav-yellow" href="#">
                        <span class="label-wrapper"> 
                            <span class="label ">Portfolio</span>
                        </span>
                        <span class="nav-after"></span>
                    </a>
                </li>
                <li> <a class="nav nav-red" href="#">
                        <span class="label-wrapper"> 
                            <span class="label">Contact</span>
                        </span>
                    <span class="nav-after"></span>
                    </a>

                </li>
            </ul>
        </nav>
    </div>
</body>

CSS

nav {
    position: relative;
    text-align: center;
}
nav:after, .nav-after {
    content:"";
    width: 100%;
    height: 2px;

    position: absolute;
    right: 0;
    top: 50%;
    /* 50% from the top */
}

nav:after {
    background-color: green;
    z-index: 1;
}

nav ul {
    display: inline-block;
    list-style: none;
}
nav ul li {
    float: left;
    margin: 0 20px 0 0;
}

.nav {
    z-index:100;
    width: 150px;
    height: 150px;
    display:block;
}

.label-wrapper {
    position:relative;
    width: 150px;
    height: 150px;
    opacity: 0.9;
    display:block;
    z-index:100;
}

.label {
    position: absolute;   
    top: 160px;
    left: 10px;
    font: 20px"Dosis", sans-serif;
    text-transform: uppercase;
    display: none;
}
.nav:hover .label {
    display: block;
}
.nav:hover .nav-after {
    display:block;
     z-index: 10;
}

/* Colors */
.nav-blue .label-wrapper, .nav-blue:hover .nav-after  {
    background-color: #5bb2fc;
}
.nav-blue .label {
    color: #5bb2fc;
}

.nav-green .label-wrapper, .nav-green:hover .nav-after {
    background-color: #58ebd3;
}
.nav-green .label {
    color: #58ebd3;
}

.nav-yellow .label-wrapper, .nav-yellow:hover .nav-after {
    background-color: #ffa659;
}
.nav-yellow  .label {
    color: #ffa659;
}

.nav-red .label-wrapper, .nav-red:hover .nav-after {
    background-color: #ff7a85;
}
.nav-red .label {
    color: #ff7a85;
}