JSFiddle - React, Tailwind, and code Playground
by Prashanth bhat
HTML
<ol class="wizard-progress clearfix">
<li class="active-step">
<span class="step-name">
Foo
</span>
<span class="visuallyhidden">Step </span><span class="step-num">1</span>
</li>
<li>
<span class="step-name">Bar</span>
<span class="visuallyhidden">Step </span><span class="step-num">2</span>
</li>
<li>
<span class="step-name">Baz</span>
<span class="visuallyhidden">Step </span><span class="step-num">3</span>
</li>
<li>
<span class="step-name">Quux</span>
<span class="visuallyhidden">Step </span><span class="step-num">4</span>
</li>
</ol>
CSS
.visuallyhidden {
display: none;
}
.wizard-progress {
list-style: none;
list-style-image: none;
margin: 0;
padding: 0;
margin-top: 20px;
float: left;
white-space: nowrap;
}
.wizard-progress li {
float: left;
margin-right: 50px;
text-align: center;
position: relative;
width: 100px;
}
.wizard-progress .step-name {
display: table-cell;
height: 32px;
vertical-align: bottom;
text-align: center;
width: 100px;
}
.wizard-progress .step-name-wrapper {
display: table-cell;
height: 100%;
vertical-align: bottom;
}
.wizard-progress .step-num {
font-size: 14px;
font-weight: bold;
border: 3px solid #000;
border-radius: 50%;
width: 18px;
display: inline-block;
margin-top: 10px;
}
.wizard-progress .step-num:after {
content: "";
display: block;
background: #000;
height: 5px;
width: 130px;
position: absolute;
bottom: 10px;
left: 60px;
}
.wizard-progress li:last-of-type .step-num:after {
display: none;
}
.wizard-progress .active-step .step-num {
background-color: #ff0500;
}