整理了2种方法,看完肯定觉得超简单~

一、旋转型

话不多说先看下需要的样式:

1.transform:rotate(angle)

2.overflow

3.visibility

效果:演示效果runjs

html结构:

<body>
<div class="box1">
<div class="box2">
<div class="box3">
<p>为所欲为为所欲为</p>
</div>
</div>
</div>
</body>

3层div,结构是不是很简单~接下来要怎么旋转呢?

为了方便理解加了背景

box1:红色

box2:黑色

box3:粉色

1.box1旋转120°,box2旋转-60°,box3再旋转-60°,我们的内容放在box3中。

2.经过旋转肯定有超出的部分,对3个div都设置overflow:hidden。

3.box1,box2是用来旋转得到6边形的,所以对他们设置visibility: hidden,box3放内容,需显示,因此设置visibility: visible。

(如果不对box3设置visibility: visible;它会继承box2的visibility: hidden; )

注意div的宽高不要相等,不然得到的就不是6边形咯。

经过旋转和对超出部分的隐藏就得到我们想要的6边形了,所有代码如下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>CSS3—六边形</title>
<style type="text/css">
.box1, .box2, .box3
{
width: 200px;
height: 250px;
overflow: hidden;
}
.box1, .box2
{
visibility: hidden;
}
.box1
{
transform: rotate(120deg);
-ms-transform: rotate(120deg);
-moz-transform: rotate(120deg);
-webkit-transform: rotate(120deg);
}
.box2
{
transform: rotate(-60deg);
-ms-transform: rotate(-60deg);
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
}
.box3
{
transform: rotate(-60deg);
-ms-transform: rotate(-60deg);
-moz-transform: rotate(-60deg);
-webkit-transform: rotate(-60deg);
background-color:pink;
visibility: visible;
}
.box3 p{
color: yellow;
font-size: 22px;
line-height: 200px;
text-align: center;
}
</style>
</head>
<body>
<div class="box1">
<div class="box2">
<div class="box3">
<p>为所欲为为所欲为</p>
</div>
</div>
</div>
</body>
</html>

二、拼接型

看效果:演示效果runjs

很明显2个三角形加1个矩形,是不是很简单~

三角形请看上一篇:CSS3—三角形

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>css—六边形2</title>
<style>
.triangleb{
width:0;
height:0;
border-top:0px solid transparent;
border-right:60px solid transparent;
border-bottom:40px solid pink;
border-left:60px solid transparent;
}
.trianglet{
width:0;
height:0;
border-top:40px solid pink;
border-right:60px solid transparent;
border-bottom:0px solid transparent;
border-left:60px solid transparent;
}
.box{
width: 120px;
height: 65px;
background-color: pink;
}
</style>
</head>
<body>
<div class="triangleb"></div>
<div class="box"></div>
<div class="trianglet"></div>
</body>
</html>

博客园:CSS3—六边形

最新文章

  1. ArtifactTransferException: Failure to transfer org.apache.openejb:javaee-api:jar:5.0-1
  2. 软件工程:vs单元测试
  3. atitit. hb 原生sql跨数据库解决原理 获得hb 数据库类型运行期获得Dialect
  4. QT5中全屏显示子窗口和取消全屏的方法
  5. poj 1046 Color Me Less
  6. poj 2406 Power Strings kmp算法
  7. 终于用scons创建了一个MDK工程
  8. Android开发艺术探索》读书笔记 (12) 第12章 Bitmap的加载和Cache
  9. Hacker(15)----嗅探原理
  10. Egret的若干局限
  11. android httpClient 支持HTTPS的访问方式
  12. margin的简单应用
  13. CoreCRM 开发实录 —— 前后端分离的重构
  14. 小米红米1 android 4.4.4上操作数据库异常问题
  15. 解决jmeter请求不成功或者报403错误
  16. 游戏AI(二)—行为树优化之
  17. webpack4.x版本splitChunksPlugin的配置项详解与实际应用场景
  18. oracle导出用户下单表或者多表,导入到别的服务器用户下
  19. ManageEngine SeviceDesk Plus帮助台和资产管理软件
  20. 转:Raft一致性选举算法的ppt与视频

热门文章

  1. Android中回调接口的使用
  2. 关于 jquery cookie的用法
  3. 菜鸟学习 git
  4. TinyTask Portable(录制和回放电脑操作过程)
  5. 使用gcc编译gdb调试
  6. Android内存优化(使用SparseArray和ArrayMap代替HashMap)
  7. iPhone Push消息全攻略.1
  8. c3p0详细配置
  9. Treeview1列表拒绝添加重复信息
  10. DashClock