JSFiddle - React, Tailwind, and code Playground
by Brewal Renault
HTML
<div id="container">
<div id="first"></div>
<div id="second"></div>
<div id="third"></div>
<div id="fourth"></div>
<div id="fifth"></div>
<div id="sixth"></div>
<div id="whitemask"></div>
<span class="sep"></span>
<span class="sep"></span>
<span class="sep"></span>
</div>
CSS
* {
margin: 0;
padding: 0;
}
#container {
width: 200px;
height: 200px;
position: relative;
overflow: hidden;
border-radius: 50%;
}
#container > div {
width: 0;
height: 0;
border-style: solid;
border-width: 174px 100px 0 100px;
border-color: #007bff transparent transparent transparent;
position: absolute;
top: -74px;
}
#container > #second {
-webkit-transform: rotate(60deg);
transform: rotate(60deg);
margin: 0;
top: -30px;
right: -74px;
border-color: grey transparent transparent transparent;
}
#container > #third {
-webkit-transform: rotate(120deg);
transform: rotate(120deg);
margin: 0;
top: 56px;
right: -74px;
border-color: red transparent transparent transparent;
}
#container > #fourth {
-webkit-transform: rotate(180deg);
transform: rotate(180deg);
margin: 0;
top: 100px;
right: 0px;
border-color: yellow transparent transparent transparent;
}
#container > #fifth {
-webkit-transform: rotate(240deg);
transform: rotate(240deg);
margin: 0;
top: 56px;
left: -75px;
border-color: green transparent transparent transparent;
}
#container > #sixth {
-webkit-transform: rotate(300deg);
transform: rotate(300deg);
margin: 0;
top: -30px;
left: -74px;
border-color: purple transparent transparent transparent;
}
#container > #whitemask {
width: 192px;
height: 192px;
position: absolute;
top: 4px;
left: 4px;
background: white;
border-radius: 50%;
border: none;
}
span.sep {
display: block;
width: 4px;
height: 210px;
position: absolute;
left: 50%;
margin-left: -2px;
background: white;
top: -4px;
z-index: 30;
-webkit-transform: rotate(30deg);
transform: rotate(30deg);
}
span.sep + span.sep {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
span.sep + span.sep + span.sep {
-webkit-transform: rotate(150deg);
...