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