css实现六边形的方法:1、将3个p组合在一起,其中包括2个等腰三角形和一个长方形;2、通过将3个长方形旋转不同角度得到正六边形。

本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。
css怎么实现六边形?
最近在写一个蜂窝式布局,所以研究了一下六边形的实现原理
实现六边形的俩种方式:
方式一: 一个长方形+两个三角形
首先我们要先了解一下border 
每个border之间是成45度,利用这点我们可以做出来三角形
<p></p><div class="aritcle_card flexRow artxards">
<div class="artcardd flexRow">
<a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill11112" title="CSS工具箱(专业版)"><img
src="https://img.php.cn/upload/skill/001/246/273/6adaf20e352aa140.jpg" alt="CSS工具箱(专业版)" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a rel="nofollow" href="/xiazai/skill11112" title="CSS工具箱(专业版)" class="overflowclass">CSS工具箱(专业版)</a>
<p class="overflowclass">全功能 CSS 工程手册,覆盖性能优化、无障碍、设计系统与跨浏览器兼容。</p>
</div>
<a rel="nofollow" href="/xiazai/skill11112" title="CSS工具箱(专业版)" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span>
</a>
</div>
</div>/*css片段*/.triangle{
width: 0;
height: 0;
border-bottom: 50px solid red;
border-left: 86px solid transparent;
border-right: 86px solid transparent;
}
上面代码可以的到一个顶角为120度的等腰三角形 
我们采取制作六边形的方式就是将3个p组合在一起,上下为120度的等腰三角形,中间为长方形(注意:border-top/border-bottom决定的是三角形的高)
下面我们来实现六边形
<p></p>
<p></p>
<p></p>
/*css片段*/
.top-triangle{
width: 0;
height: 0;
border-bottom: 50px solid red;
border-left: 86px solid transparent;
border-right: 86px solid transparent;
}
.center{
width: 172px;
height: 100px;
background: red;
}
.bottom-triangle{
width: 0;
height: 0;
border-top: 50px solid red;
border-left: 86px solid transparent;
border-right: 86px solid transparent;
}

由上面代码我们就可以得到一个正六变形
方式二: 3个长方形旋转不同角度得到正六边形
关键点: overflow: hidden;
transform: rotate()的使用
<p>
</p><p>
</p><p></p>
/*css片段*/.six,.child,.child_child{
width: 100px;
height: 150px;
overflow: hidden;
}.six{ -webkit-transform: rotate(120deg); -o-transform: rotate(120deg); -ms-transform: rotate(120deg); -moz-transform: rotate(120deg);
transform: rotate(120deg);
}.child{ -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg);
transform: rotate(-60deg);
}.child_child{
background: red; -webkit-transform: rotate(-60deg); -o-transform: rotate(-60deg); -ms-transform: rotate(-60deg); -moz-transform: rotate(-60deg);
transform: rotate(-60deg);
}
可以为最里面的p加背景或者图片,外面的俩个p不要加颜色,但是这种方式创建的六边形没有办法添加文字,执行上面代码可以得到下图: 
【推荐学习:《css视频教程》】
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










