<h1>Pure CSS Responsive Infographics</h1>
<br/>
<div class="circle-container">
<div class="outer-circle">
<div class="inner-circle">
<div class="inner-circle-content">
<span>Step 1</span>
<svg width="35" height="35" viewBox="0 0 24 24">
<path d="M12,4A4,4 0 0,1 16,8A4,4 0 0,1 12,12A4,4 0 0,1 8,8A4,4 0 0,1 12,4M12,14C16.42,14 20,15.79 20,18V20H4V18C4,15.79 7.58,14 12,14Z"></path>
</svg>
</div>
</div>
</div>
<div class="outer-circle">
<div class="inner-circle">
<div class="inner-circle-content">
<span>Step 2</span>
<svg width="35" height="35" viewBox="0 0 24 24">
<path d="M17,18C15.89,18 15,18.89 15,20A2,2 0 0,0 17,22A2,2 0 0,0 19,20C19,18.89 18.1,18 17,18M1,2V4H3L6.6,11.59L5.24,14.04C5.09,14.32 5,14.65 5,15A2,2 0 0,0 7,17H19V15H7.42A0.25,0.25 0 0,1 7.17,14.75C7.17,14.7 7.18,14.66 7.2,14.63L8.1,13H15.55C16.3,13 16.96,12.58 17.3,11.97L20.88,5.5C20.95,5.34 21,5.17 21,5A1,1 0 0,0 20,4H5.21L4.27,2M7,18C5.89,18 5,18.89 5,20A2,2 0 0,0 7,22A2,2 0 0,0 9,20C9,18.89 8.1,18 7,18Z"></path>
</svg>
</div>
</div>
</div>
<div class="outer-circle">
<div class="inner-circle">
<div class="inner-circle-content">
<span>Step 3</span>
<svg width="35" height="35" viewBox="0 0 24 24">
<path d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M11,16.5L18,9.5L16.59,8.09L11,13.67L7.91,10.59L6.5,12L11,16.5Z"></path>
</svg>
</div>
</div>
</div>
</div>
@import url("https://fonts.googleapis.com/css?family=Montserrat:400,400i,700");
*{
box-sizing: border-box;
}
body{
font-family: Montserrat,sans-serif;
margin: 50px;
background-color: #26A69A;
>h1{
text-align:center;
}
>h1{
margin: 40px;
color: #ffffff;
}
}
$theme-color: #f6671f;
$outer-circle-width: 250px;
$inner-circle-width: 150px;
.circle-container{
display: flex;
justify-content: center;
.outer-circle{
width: $outer-circle-width;
height: $outer-circle-width;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
.inner-circle{
width: $inner-circle-width;
height: $inner-circle-width;
box-sizing: content-box;
border: (($outer-circle-width - $inner-circle-width) / 2) solid $theme-color;
transform: rotate(45deg);
border-radius: 50%;
.inner-circle-content{
background: #ffffff;
border: 5px solid #ffffff;
box-sizing: border-box;
border-radius: 50%;
width: 100%;
height: 100%;
transform: rotate(-45deg);
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
box-shadow: inset 0px 0px 25px rgba(0, 0, 0, 0.3);
span{
font-size: 1.2rem;
font-weight: bold;
text-transform: uppercase;
}
svg{
margin-top: 15px;
}
}
}
svg path{
stroke: $theme-color;
fill: $theme-color;
}
&:not(:first-child){
margin-left: -((($outer-circle-width - $inner-circle-width) / 2) - 1);
}
&:nth-child(odd){
.inner-circle{
border-top-color: transparent;
border-left-color: transparent;
}
}
&:nth-child(even){
margin-top: 1px;
.inner-circle{
border-bottom-color: transparent;
border-right-color: transparent;
}
}
&:first-child{
.inner-circle{
border-left-color: $theme-color;
}
}
}
@media (max-width: 767px){
flex-direction: column;
align-items: center;
.outer-circle{
.inner-circle{
transform: rotate(135deg);
.inner-circle-content{
transform: rotate(225deg);
}
}
&:not(:first-child){
margin-left: 0px;
margin-top: -((($outer-circle-width - $inner-circle-width) / 2) - 1);
}
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.