JSFiddle - React, Tailwind, and code Playground
by Sergey Goryachev
HTML
<div class="wrapper">
<div class="circle"><span>1</span></div>
<div class="circle"><span>2</span></div>
<div class="circle"><span>3</span></div>
<div class="circle"><span>6</span></div>
<div class="circle"><span>5</span></div>
<div class="circle"><span>4</span></div>
<div class="circle"><span>7</span></div>
<div class="circle"><span>8</span></div>
<div class="circle"><span>9</span></div>
<div class="circle"><span>12</span></div>
<div class="circle"><span>11</span></div>
<div class="circle"><span>10</span></div>
<div class="circle"><span>13</span></div>
<div class="circle"><span>14</span></div>
<div class="circle"><span>15</span></div>
<div class="circle"><span>18</span></div>
<div class="circle"><span>17</span></div>
<div class="circle"><span>16</span></div>
<div class="circle"><span>19</span></div>
<div class="circle"><span>20</span></div>
<div class="circle"><span>21</span></div>
<div class="clear"></div>
</div>
CSS
.clear {
float: none;
clear: both;
}
.wrapper {
padding: 40px 40px 0 40px;
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: 33.3333333%;
float: left;
position: relative;
}
.circle span {
width: 80px;
height: 80px;
border: 1px solid #fff;
line-height: 80px;
text-align: center;
font-size: 40px;
color: #FFF;
border-radius: 50%;
margin: auto;
margin-bottom: 40px;
display: block;
}
.circle:after {
content: '';
position: absolute;
width: calc(100% - 82px);
height: 1px;
background: #fff;
transform: translateX(50%);
right: 0;
top: 41px;
}
.circle:nth-child(-6n+15):after {
width: 1px;
height: 40px;
top: 82px;
right: 50%;
}
.circle:nth-child(6n+6):after {
display: none;
}