JSFiddle - React, Tailwind, and code Playground
by Sergey Goryachev
HTML
<div class="wrapper">
<div class="line line--ltr">
<div class="circle">1</div>
<div class="separator"></div>
<div class="circle">2</div>
<div class="separator"></div>
<div class="circle circle--after">3</div>
</div>
<div class="line line--rtl">
<div class="circle">4</div>
<div class="separator"></div>
<div class="circle">5</div>
<div class="separator"></div>
<div class="circle circle--after">6</div>
</div>
<div class="line line--ltr">
<div class="circle">7</div>
<div class="separator"></div>
<div class="circle">8</div>
<div class="separator"></div>
<div class="circle">9</div>
</div>
</div>
CSS
.clear {
float: none;
clear: both;
}
.wrapper {
padding: 40px;
padding-bottom: 0;
background: rgb(5,171,224);
background: -moz-linear-gradient(top, rgba(5,171,224,1) 0%, rgba(83,203,241,1) 60%, rgba(135,224,253,1) 100%);
background: -webkit-linear-gradient(top, rgba(5,171,224,1) 0%,rgba(83,203,241,1) 60%,rgba(135,224,253,1) 100%);
background: linear-gradient(to bottom, rgba(5,171,224,1) 0%,rgba(83,203,241,1) 60%,rgba(135,224,253,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05abe0', endColorstr='#87e0fd',GradientType=0 );
}
.circle {
width: 80px;
height: 80px;
float: left;
border: 1px solid #fff;
line-height: 80px;
text-align: center;
font-size: 40px;
color: #FFF;
border-radius: 50%;
margin-bottom: 40px;
}
.separator {
width: calc(50% - 123px);
height: 80px;
float: left;
position: relative;
}
.separator:after {
content: "";
position: absolute;
width: 100%;
height: 1px;
background: #fff;
left: 0;
right: 0;
top: 50%;
}
.line {
display: flex;
}
.line--ltr {
direction: ltr;
}
.line--rtl {
direction: rtl;
}
.circle--after {
position: relative;
}
.circle--after:after {
content: "";
position: absolute;
width: 1px;
height: 40px;
background: #fff;
left: 50%;
bottom: -40px;
}