JSFiddle - React, Tailwind, and code Playground
HTML
<nav class="menunav">
<ul class='circle'>
<li class='orange light slice'>
<label for='oorange' class='circle over' id="3">Net</label>
</li>
<li class='almond light slice'>
<label for='oalmond' class='circle'><span class="over" id="4">CSSSCRIPT.COM</span></label> <!-- Some menu labels have to be flipped with a span -->
</li>
<li class='grape light slice'>
<label for='ogrape' class='circle'><span class="over" id="5">JavaScript</span></label>
</li>
<li class='blackberry dark slice'>
<label for='oblackberry' class='circle' ><span class="over" id="6">HTML5</span></label>
</li>
<li class='cherry dark slice'>
<label for='ocherry' class='circle' ><span class="over" id="7">CSS/CSS3</span></label>
</li>
<li class='unsel circle'>
<label for='unsel' class="clicky menuname">Menu</label>
</li>
<li class='middle circle'></li>
</ul>
</nav>
CSS
.circle, .circle:before, .circle:after { border-radius: 50%; }
.menunav {
position: absolute;
display: block;
min-width: 10em;
width: 70%;
max-width: 30em;
}
.menunav ul {
position: relative;
padding: 50%;
max-width: 0; max-height: 0;
list-style: none;
}
.menunav li {
position: absolute;
}
.slice {
overflow: hidden;
position: absolute;
top: 0;
left: 0;
width: 50%;
height: 50%;
transform-origin: 100% 100%;
}
/* Cell orientation */
/*.coconut { transform: rotate(13deg) skewX(40deg); }
.vanilla { transform: rotate(64.43deg) skewX(40deg); }*/
.orange { transform: rotate(115.86deg) skewX(40deg); }
.almond { transform: rotate(167.29deg) skewX(40deg); }
.grape { transform: rotate(218.71deg) skewX(40deg); }
.blackberry { transform: rotate(270.14deg) skewX(40deg); }
.cherry { transform: rotate(321.57deg) skewX(40deg); }
.menunav label { cursor: pointer; }
.slice label {
display: block;
width: 200%; height: 200%;
transform: skew(-40deg) rotate(-65deg);
line-height: 1.9;
text-align: center;
}
.slice label span {
display: block;
}
.slice label:hover {
color: white;
border: 2px solid black;
transition: all 0.5s ease;
}
.circle .menuname:hover {
color: white;
transition: color 0.5s ease;
}
/* Cell background colors */
.coconut label, .ococonut:checked ~ nav .unsel { background: #D0D0D0; }
.vanilla label, .ovanilla:checked ~ nav .unsel { background: #e6e600; }
.orange label, .oorange:checked ~ nav .unsel { background: #ffb038; }
.almond label, .oalmond:checked ~ nav .unsel { background: #d3a573; }
.grape label, .ogrape:checked ~ nav .unsel { background: #ace600; }
.blackberry label, .oblackberry:checked ~ nav .unsel { background: #cc0099; }
.cherry label, .ocherry:checked ~ nav .unsel { background: #ff0000; }
.slice label { font-weight: 700; line-height: 5; }
.circle label { font-weight: 700; line-height: 5; }
.slice p{
width: 100px;
margin-left: 185px;
}
.unsel {
z-index: 2;
top: 34%; left: 34%;
width: 32%;...