JSFiddle - React, Tailwind, and code Playground
HTML
<div class="menu">
<div class="menu-item">
<div class="menu-item__line"></div>
<a href="#" class="menu-item__link">My bag</a>
</div>
<div class="menu-item">
<div class="menu-item__line"></div>
<a href="#" class="menu-item__link active">Shipping and Billing</a>
</div>
<div class="menu-item">
<div class="menu-item__line"></div>
<a href="#" class="menu-item__link">Payment</a>
</div>
<div class="menu-item">
<div class="menu-item__line"></div>
<a href="#" class="menu-item__link">Confirmation</a>
</div>
</div>
CSS
.menu {
position: relative;
float: left;
font-family: Georgia, "Time New Roman", Times, serif;
font-style: italic;
}
.menu-item {
position: relative;
float: left;
text-align: center;
padding: 10px 10px 25px;
}
.menu-item__line {
position: absolute;
bottom: 10px;
left: 0;
width: 100%;
height: 1px;
background: #000;
z-index: 1;
}
.menu-item:first-child .menu-item__line {
left: 50%; width: 50%;
}
.menu-item:last-child .menu-item__line {
width: 50%;
}
.menu-item__link {
display: inline-block;
z-index: 2;
color: #000;
text-decoration: none;
}
.menu-item__link:after {
position: absolute;
display: block;
content: "";
z-index: 3;
bottom: 0;
left: 50%;
width: 18px;
height: 18px;
border: 1px solid #000;
background: #fff;
border-radius: 50%;
margin-left: -10px;
}
.menu-item__link.active:after,
.menu-item__link:hover:after {
background: #000;
}