在创建六角形<div>
的边框时遇到问题。
我需要创建this structure的六边形(图像上有俄语文字,没关系)。我使用clip-path
制作了两个六边形:
<div class="widgets__control">
<div class="widgets__control-inner">
Aaaaa
</div>
</div>
@mixin widget {
width: 240px;
height: 207px;
background-color: #fff;
clip-path: polygon(23% 0, 78% 0, 100% 50%, 78% 100%, 23% 100%, 0 50%);
}
@mixin widgets__inner {
width: 228px;
height: 195px;
text-align: center;
clip-path: polygon(25% 0, 75% 0, 100% 57%, 75% 100%, 25% 100%, 0 50%);
}
.widgets__control {
@include widget;
position: absolute;
top: 31px;
left: 536px;
text-align: center;
}
.widgets__control-inner {
@include widgets__inner;
border: 2px solid #f00;
color: #f00;
margin: 0 auto;
}
但是我无法对内六角形做边框。我得到this view。
然后我尝试使用this site创建六边形。创建了外部六边形后,我将他旋转了30度,并意识到这也是一个坏主意:
<div class="hexagon"></div>
.hexagon {
position: relative;
width: 300px;
height: 173.21px;
background-color: #64C7CC;
border: 1px solid #64C7CC;
margin: 86.60px 30px;
transform: rotate(30deg);
}
.hexagon:before,
.hexagon:after {
content: "";
position: absolute;
width: 0;
border-left: 151px solid transparent;
border-right: 151px solid transparent;
}
.hexagon:before {
bottom: 100%;
border-bottom: 86.60px solid #64C7CC;
}
.hexagon:after {
top: 100%;
width: 0;
border-top: 86.60px solid #64C7CC;
}
这是一个坏主意,因为六边形的含量也是rotating。
如何使这种结构像图像一样?或者,也许我可以使用clip-path
添加边框?