JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<div id="square">
<div id="squama">
<div id="first">
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
</div>
<div id="second">
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
</div>
<div id="third">
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
</div>
<div id="fourth">
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
</div>
<div id="fifth">
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
<div class="one"></div>
</div>
</div>
</div>
</body>
CSS
#square {
width: 600px;
height: 600px;
border: 1px solid black;
}
#squama {
position: relative;
margin: 5%;
width: 500px;
height: 500px;
border: 1px solid black;
background-color: yellow;
overflow: hidden;
}
#first {
position: absolute;
height: 100%;
width: 500px;
margin-top: -6%;
z-index: 1;
}
#second {
position: absolute;
height: 100%;
width: 500px;
margin-left: 6%;
margin-bottom: -6%;
z-index: 2;
}
#third {
position: absolute;
height: 100%;
width: 100%;
margin-left: 12%;
margin-top: -6%;
z-index: 3;
}
#fourth{
position: absolute;
height: 100%;
width: 100%;
margin-left: 18%;
z-index: 4;
}
#fifth{
position: absolute;
height: 100%;
width: 100%;
margin-top: -6%;
margin-left: 24%;
z-index: 5;
}
#sixth{
}
.one {
/*position: absolute;*/
/*float: right;*/
width: 12%;
height: 12%;
border-top-left-radius: 50%;
border-bottom-left-radius: 50%;
border-top: 1px solid black;
border-left: 2px solid black;
background-color: rgba(193,119,3, 0.95);
/*background-color: red;*/
box-shadow: inset 0px 0px 20px rgba(255,221,0,0.5),
0px 0px 20px rgba(0,0,0,0.5);
}
.one:hover {
/* Точка поворота в правом верхнем углу */
perspective: 100px;
transform-origin: right;
transition: transform 0.75s;
transform: rotateY(50deg);
background-color: red;
}