JSFiddle - React, Tailwind, and code Playground
by smks
HTML
<div class="content">
<div class="steps-container">
<ol class="steps">
<li class="step step1 current">
<div class="step-content">
<div class="step-number step-number-first">1</div>
<span class="step-details">Step 1</span>
</div>
</li>
<li class="step step2 ">
<div class="step-content">
<div class="step-number">2</div>
<span class="step-details">Step 2</span>
</div>
</li>
<li class="step step3 ">
<div class="step-content">
<div class="step-number">3</div>
<span class="step-details">Step 3</span>
</div>
</li>
<li class="step step4 ">
<div class="step-content">
<div class="step-number">4</div>
<span class="step-details">Step 4</span>
</div>
</li>
</ol>
</div>
</div>
CSS
.steps-container {
background-color: #ffffff;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
background-clip: padding-box;
float: left;
height: 52px;
margin: 0;
width: 100%;
}
.steps-container ol.steps {
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
background-clip: padding-box;
counter-reset: li;
font-size: 9px;
font-size: 0.9rem;
line-height: 10px;
list-style: none;
margin: 0;
overflow: hidden;
padding: 0;
}
.steps-container ol.steps .step {
box-sizing: border-box;
height: 52px;
width: 25%;
}
.steps-container ol.steps li {
list-style-image: none;
list-style-type: none;
margin-left: 0;
text-align: center;
color: #c7c7c7;
padding-top: 4px;
background-color: #ffffff;
position: relative;
}
.steps-container ol.steps li:after {
position: absolute;
top: -16px;
left: 100%;
content: " ";
height: 0;
width: 0;
pointer-events: none;
border: solid transparent;
border-left-color: #ffffff;
border-width: 26px 10px;
margin-top: 16px;
-webkit-filter: drop-shadow(5px 0 2px #f2f2f2);
-moz-filter: drop-shadow 5px 0 2px #f2f2f2;
-ms-filter: drop-shadow 5px 0 2px #f2f2f2;
-o-filter: drop-shadow 5px 0 2px #f2f2f2;
filter: drop-shadow 5px 0 2px #f2f2f2;
}
.steps-container ol.steps li:first-child {
margin-left: 0;
}
.steps-container ol.steps li:first-child .step-details:after {
border: none;
}
.steps-container ol.steps li:last-child:after {
border-width: 0;
}
.steps-container ol.steps li .step-content {
display: block;
padding: 2px;
margin-top: 10px;
}
.steps-container ol.steps li .step-content:before {
counter-increment: li;
}
.steps-container ol.steps > li {
float: left;
}
.steps-container ol.steps .step-number {
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
background-clip: padding-box;
background-color:...