整理了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—六边形

CSS3—六边形的更多相关文章

  1. CSS3 六边形绘制

    把一个104px的div放在它们之间,设置一个背景颜色: width: 0; border-bottom: 30px solid #6C6; border-left: 52px solid trans ...

  2. CSS3六边形

    <!DOCTYPE html> <!-- saved from url=(0043)http://dbox.whosemind.net/demo/liufang.html --> ...

  3. CSS3 画基本图形,圆形、椭圆形、三角形等

    CSS3圆角#css3-circle{ width: 150px; height: 150px; border-radius: 50%; }CSS3 椭圆形css3 radius#css3-elips ...

  4. CSS3 实现圆形、椭圆形、三角形等各种形状样式

    CSS3 圆形 #css3-circle{ width: 150px; height: 150px; border-radius: 50%; background-color: #232323;} C ...

  5. CSS3绘制六边形

    因为很简单,所以先总结一下:使用CSS3绘制六边形主要使用伪类:before和:after在源元素之前和之后再绘制两个元素,并利用css3的边框样式,将这两个元素变成三角形放置在源元素的两端即可. ( ...

  6. css3制作六边形图片

    效果图: 实现原理: 这个效果的主要css样式有: 1.>transform: rotate(120deg); 图片旋转 2.>overflow:hidden;  超出隐藏 3.>v ...

  7. CSS3 实现六边形Div图片展示效果

    原文:CSS3 实现六边形Div图片展示效果 效果图: 实现原理: 这个效果的主要css样式有: 1.>transform: rotate(120deg); 图片旋转 2.>overflo ...

  8. css3实现六边形

    实现原理:这个效果的主要css样式有:1.>transform: rotate(120deg); 图片旋转2.>overflow:hidden; 超出隐藏3.>visibility: ...

  9. 第五课 Css3旋转放大属性,正六边形的绘制

    ---恢复内容开始--- 一.效果 二.知识点 1.background-color: rgba(0,0,0,.4);   (红色.绿色.蓝色.透明度(0-1)) 2.position: absolu ...

随机推荐

  1. [iOS 多线程 & 网络 - 1.2] - 多线程GCD

    A.GCD基本使用 1.GCD的概念 什么是GCD全称是Grand Central Dispatch,可译为"牛逼的中枢调度器"纯C语言,提供了非常多强大的函数GCD的优势GCD是 ...

  2. HDU 4597 Play Game (DP,记忆化搜索,博弈)

    题意:Alice和Bob玩一个游戏,有两个长度为N的正整数数字序列,每次他们两个,只能从其中一个序列,选择两端中的一个拿走.他们都希望可以拿到尽量大的数字之和, 并且他们都足够聪明,每次都选择最优策略 ...

  3. UVaLive 7269 Snake Carpet (找规律,模拟)

    题意:给定一个数字n,表示有n条蛇,然后蛇的长度是 i ,如果 i 是奇数,那么它只能拐奇数个弯,如果是偶数只能拐偶数个,1, 2除外,然后把这 n 条蛇, 放到一个w*h的矩阵里,要求正好放满,让你 ...

  4. Hibernate HQL和原生SQL查询的一点区别

    1.createSQLQuery 1.1默认查询的结果为BigDecimal 1.2通过addScalar("CGD_ID", StandardBasicTypes.LONG)可以 ...

  5. ElasticSearch+Springboot实际应用:索引同步建设,搜索过程

    1.介绍 springboot框架,众多自动化的部署和约定配置,造成了springboot的着手麻烦,熟练后可以快速快捷进行开发,常用作快捷开发的java底层框架.各位看官都是大神,自行体会.     ...

  6. Mybatis学习之配置文件

    Mybatis也是ORM框架的一种,与Hibernate框架的不同就是Hibernate框架是实体与表的映射,是一种全自动的ORM实现,而Mybatis是实体与sql语句的映射,是一种半自动的ORM映 ...

  7. ADO.NET 快速入门(十五):ADO 应用转换为 ADO.NET

    这是一个已经移植到 .NET 的 ADO 应用的例子.也演示了单向.只读.快速 DataReader 的使用.它演示如何使用 DataView 类从 DataSet 获取一个 Table 和 操作一个 ...

  8. Codeforces Round #274 (Div. 1) C. Riding in a Lift 前缀和优化dp

    C. Riding in a Lift Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/480/pr ...

  9. C# 使用xsd文件验证XML 格式是否正确

    C# 使用xsd文件验证XML 格式是否正确 核心示例代码: //创建xmlDocument XmlDocument doc = new XmlDocument(); //创建声明段 如<?xm ...

  10. 怎样在osg中动态的设置drawable的最近最远裁剪面

    // draw callback that will tweak the far clipping plane just    // before rendering a drawable.    s ...