六边形的实现原理其实就是通过旋转三个重叠的矩形得到的,如下图所示:

这里为了得到一个正的六边形,两个矩形旋转的角度必须为-60deg和60deg,以及矩形高宽比必须是Math.sqrt(3) : 1

那么首先我们要创建三个矩形:

我们设定三个矩形的宽高分别为60px和104px,背景色为蓝色,.hexagon__item_left旋转-60deg,.hexagon__item_right旋转60deg,.hexagon__item_center不旋转。

.hexagon {

width: 60px;

height: 104px;

position: relative;

margin: 200px auto;

}

.hexagon__item {

width: 100%;

height: 100%;

background: blue;

position: absolute;

top: 0;

left: 0;

}

.hexagon__item_left {

transform: rotate(-60deg);

}

.hexagon__item_right {

transform: rotate(60deg);

}

这样就简单的得到了一个正六边形。

那么我们要如何才能使得蓝色背景变成图片呢,其实也很简单,上述的三个矩形其实只是起到了一个塑形的作用,实际上是应该设置为 visibility: hidden 的,我们需要给三个矩形分别添加一个矩形的子元素并且设置为 visibility: visible 。

三个子元素的宽高需要正好能覆盖之前的蓝色六边形。

做好代码如下,大家可以好好研究一下

Document

.hexagon {

width: 60px;

height: 104px;

position: relative;

margin: 200px auto;

}

.hexagon__item {

width: 100%;

height: 100%;

background: blue;

position: absolute;

top: 0;

left: 0;

visibility: hidden;

overflow: hidden;

}

.hexagon__item_left {

transform: rotate(-60deg);

}

.hexagon__item_right {

transform: rotate(60deg);

}

.hexagon__item:before {

position: absolute;

top: 0;

left: 0;

content: "";

height: 100%;

width: 120px;

visibility: visible;

background: url('https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=13897784,1115290966&fm=58') no-repeat;

background-size: cover;

transform-origin: 0 0;

}

.hexagon__item_left:before {

transform: rotate(60deg) translateY(-50%);

}

.hexagon__item_right:before {

transform: rotate(-60deg) translateX(-75%);

}

.hexagon__item_center:before {

transform: translateX(-25%);

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

html如何将图片做成六边形,CSS实现图片背景填充的六边形的示例代码相关推荐

  1. html导航去下划线,纯CSS实现导航栏下划线跟随的示例代码

    本篇文章主要介绍了纯CSS实现导航栏下划线跟随的示例代码,分享给大家,具体如下: 效果: 代码: html: aaaa bbbbbbb cccc dddd eeee css: ul { padding ...

  2. html双箭头菜单,CSS常用样式之绘制双箭头的示例代码

    一.多次调用单箭头 实现了单箭头–就很容易实现双箭头了,上文已经介绍2种实现单箭头的原理: 边框旋转方式.双三角覆盖方式.这次以边框旋转为例多次调用实现双箭头. 1.边框旋转单箭头实现 .arrow- ...

  3. html中亮度怎么写,HTML+CSS+JS模仿win10亮度调节效果的示例代码

    HTML+CSS+JS模仿win10亮度调节效果 代码 模仿win10的亮度调节 .control_bar{ height:200px; width:500px; border-bottom:3px ...

  4. css实现文字中间横线,css实现文字居中两边横线效果的示例代码

    本文介绍了css实现文字居中两边横线效果的示例代码,分享给大家,具体笔记如下: 效果: content="width=device-width, user-scalable=no, init ...

  5. html制作收货地址页面,css 收货地址平行四边形的线条样式示例代码

    代码如下所示: // 收货地址的平行四边形的线条样式 //样式 .top{ background-color: #fff; position: relative; } .top:before{ pos ...

  6. html做一页关于时间轴的网站,前端css实现最基本的时间轴的示例代码

    本文介绍了前端css实现最基本的时间轴的示例代码,分享给大家,具体如下: 原型: 代码: 状态详情 #timeleft div { height: 65px; color: #333333; } #t ...

  7. html input选中样式,CSS 伪类修改input选中样式的示例代码

    注:该表引自W3School教程 伪元素的分类及作用: 下面通过代码看下CSS 伪类修改input选中样式的示例代码,代码如下所示: 主要是用到了after伪类和字体符号. input{ -webki ...

  8. html文字图片同一行,CSS控制图片和文字在同一行显示且对齐的3种方法

    CSS控制图片和文字在同一行显示且对齐的3种方法 在 HTML 代码中,有时会需要在文字旁边加上一个图标. 默认情况,是图片置顶对齐,文字置底对齐,所以通常图片高,文字低,不能水平居中对齐. 常见欢思 ...

  9. html悬浮的图片居中,HTML/CSS:图片居中(水平居中和垂直居中)

    css图片水平居中 1.利用margin: 0 auto实现图片水平居中 利用margin: 0 auto实现图片居中就是在图片上加上css样式margin: 0 auto 如下: 2.利用文本的水平 ...

  10. css图片过大,CSS解决图片过大撑破DIV的方法

    一.防止图片撑破DIV方法一 原始处理方法是将要展示的图片进行处理.比如你的DIV宽度为500px(像素),那你上传的图片或放入网页的图片宽度就要小于500px,也就是你图片需要图片软件剪切.等比例缩 ...

最新文章

  1. Swift UITableView嵌套UICollectionView点击事件冲突(点击事件穿透)
  2. Python中的线程、进程、协程以及区别
  3. Python Django 文件下载代码示例
  4. CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-7主节点CM安装子节点Agent配置...
  5. codefore 213 C Relay Race (朴素DP)
  6. 【OpenCV】OpenCV实战从入门到精通之 -- 常用数据结构和函数(Point、Scalar、Size、Rect、cvtColor)
  7. linux docker 分配资源,Docker 容器资源限制
  8. 诺基亚n1支持java功能_关于诺基亚N1你必须要了解这10个问题!
  9. vue 实现简约留言板
  10. 国内主流Arduino图形化编程软件专业评测
  11. 应用程序正常初始化失败(0xc0000135)
  12. 实验室信息管理系统的进化史
  13. 417分上那所计算机学院,2021年高考417分左右能上什么大学(100所)
  14. SpringBoot实现QQ邮箱注册和登录
  15. 计算机里面不显示光驱位硬盘,Windows10系统识别不了光驱位机械硬盘怎么办?解决方法...
  16. 学Python人工智能有发展前景吗?人工智能就业方向有哪些?
  17. 研究GigE Vision(未完待续)
  18. 2021计算机专业考研科目,2021年考研计算机考试科目
  19. 区块链在游戏产业掀起狂潮
  20. 万能学术搜索引擎搭建-基于streamlit

热门文章

  1. 如何识别WiFi模块型号真伪
  2. hdfs查看目录文件的大小 hdfs dfs -du -s -h /
  3. 【Qualcomm高通音频】Speaker 调试记录
  4. Live2D看板娘代码引用
  5. 为什么弃用手机FireFox浏览器
  6. iphone开发账号申请
  7. Java 中compare方法与equals方法一样,在继承中会遇到问题
  8. 关于Win10用户地平线线上连接xbox live失败问题
  9. 瑞思学科英语11月份开班计划表
  10. TP3.2 设置伪静态