css怎么实现六边形


本文摘自PHP中文网,作者藏色散人,侵删。

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

本文操作环境:windows7系统、HTML5&&CSS3版、Dell G3电脑。

css怎么实现六边形

最近在写一个蜂窝式布局,所以研究了一下六边形的实现原理
实现六边形的俩种方式:
方式一: 一个长方形+两个三角形
首先我们要先了解一下border
border图
每个border之间是成45度,利用这点我们可以做出来三角形

1

2

3

4

5

6

7

<p class="triangle"></p>/*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决定的是三角形的高)
下面我们来实现六边形

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<p class="top-triangle"></p>

<p class="center"></p>

<p class="bottom-triangle"></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()的使用

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<p class="six">

    <p class="child">

        <p class="child_child"></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视频教程》】

以上就是css怎么实现六边形的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

css里上下居中怎么弄?

css样式引入方式的优缺点对比

css怎么设置边框线样式

css+div隐藏滚动条的实现方法(代码示例)

dw怎么创建css文件

css怎么设置草书字体

css设置table圆角边框不起作用是什么原因

老司机来和你谈谈,为什么说css是最难的!!

css怎么改变png图片的颜色

css实现滚动阴影效果的小技巧(分享)

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...