JSFiddle - React, Tailwind, and code Playground
by Константин Дралюк
HTML
<div class="hexagon">
<div class="hexagon__box -size260 -outline">
<div class="hexagon__outline">
<div class="hexagon__box">
<div class="hexagon__figure"></div>
</div>
</div>
<div class="hexagon__figure"></div>
</div>
</div>
<div class="hexagon">
<div class="hexagon__box -size260">
<div class="hexagon__figure"></div>
</div>
</div>
CSS
body {
margin: 0;
}
.hexagon {
float: left;
color: #f0f;
display: inline-flex;
vertical-align: top;
}
.hexagon__box {
position: relative;
}
.hexagon__box.-size260 {
width: 260px;
}
.hexagon__box.-outline {
margin: 0 7.5%;
}
.hexagon__box:before {
content: '';
padding-bottom: 115.5%;
display: table;
}
.hexagon__figure {
box-sizing: content-box;
width: 100%;
background: currentColor;
border: inherit;
position: absolute;
top: 25%;
padding-bottom: 57.75%;
}
.hexagon__figure:before, .hexagon__figure:after {
content: '';
background: inherit;
border: inherit;
display: block;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
}
.hexagon__figure:before {
transform: rotate(60deg);
}
.hexagon__figure:after {
transform: rotate(-60deg);
}
.hexagon__outline {
margin-top: -115%;
transform: rotate(30deg);
}
.hexagon__outline .hexagon__figure {
background: transparent;
border-style: solid;
border-color: currentColor;
border-width: 0 1px 0 1px;
}