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);
   ...