JSFiddle - React, Tailwind, and code Playground
HTML
<nav>
<p>
Menu
</p>
<ul>
<li>
<a data-scroll href="#why">
<span>Why</span>
<span class="small-nav-text">Humanizing healthcare</span>
</a>
</li>
<li>
<a data-scroll href="#how">
<span>How</span>
<span class="small-nav-text">Improving communication</span>
</a>
</li>
<li>
<a data-scroll href="#tickit">
<span>TickiT</span>
<span class="small-nav-text">Our flagship product</span>
</a>
</li>
<li>
<a data-scroll href="#team">
<span>Team</span>
<span class="small-nav-text">The gang</span>
</a>
</li>
<li>
<a data-scroll href="#contact">
<span>Contact</span>
<span class="small-nav-text">Let's talk</span>
</a>
</li>
</ul>
</nav>
CSS
nav li {
display: inline-block;
}
nav a {
margin: 0;
padding: 0 2.1875rem;
text-align: center;
font-size: 1.16875rem; }
nav a:after {
position: absolute;
top: 100%;
left: 0;
opacity: 0;
width: 100%;
height: 1px;
background: #fff;
content: '';
-webkit-transition: -webkit-transform 0.3s, opacity 0.3s, height 0.3s;
-moz-transition: -moz-transform 0.3s, opacity 0.3s, height 0.3s;
transition: transform 0.3s, opacity 0.3s, height 0.3s;
-webkit-transform: translateY(-10px);
-moz-transform: translateY(-10px);
transform: translateY(-10px); }
nav a:hover:before, nav a:focus:before {
height: 6px; }
nav a:hover::before, nav a:hover::after, nav a:focus::before, nav a:focus::after {
opacity: 1;
-webkit-transform: translateY(0px);
-moz-transform: translateY(0px);
transform: translateY(0px); }
nav a span:first-child {
z-index: 2;
display: block; }
nav a .small-nav-text {
font-size: 0.875rem;
z-index: 1;
display: block;
padding: 8px 0 0 0;
color: rgba(0, 0, 0, 0.4);
text-transform: none;
opacity: 0;
position: relative;
-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
-moz-transition: -moz-transform 0.3s, opacity 0.3s;
transition: transform 0.3s, opacity 0.3s;
-webkit-transform: translateY(-100%);
-moz-transform: translateY(-100%);
transform: translateY(-100%); }
nav a:hover .small-nav-text, nav a:focus .small-nav-text {
opacity: 1;
-webkit-transform: translateY(0%);
-moz-transform: translateY(0%);
transform: translateY(0%); }