当前位置:首页 > CSS

css制作六边形

2026-01-15 11:44:58CSS

使用 CSS 制作六边形

方法一:使用 clip-path 属性

通过 clip-path 直接定义六边形的路径,简单高效且支持动画效果。

.hexagon {
  width: 100px;
  height: 110px;
  background-color: #3498db;
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

参数说明

  • polygon 中的百分比值为六边形六个顶点的坐标,依次为:顶部中点、右上角、右下角、底部中点、左下角、左上角。

方法二:利用伪元素旋转

通过旋转伪元素叠加实现六边形效果,兼容性较好。

.hexagon {
  width: 100px;
  height: 57.74px; /* 高度 = 宽度 × (√3 / 2) */
  background-color: #3498db;
  position: relative;
  margin: 28.87px 0; /* 边距 = 高度 / 2 */
}

.hexagon:before,
.hexagon:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: inherit;
}

.hexagon:before {
  transform: rotate(60deg);
}

.hexagon:after {
  transform: rotate(-60deg);
}

关键点

  • 六边形高度与宽度的比例为 √3/2(约 0.866)。
  • 伪元素通过旋转 60° 和 -60° 补全六边形的另外两部分。

方法三:SVG 内联

直接使用 SVG 绘制六边形,嵌入到 HTML 中。

<svg width="100" height="115" viewBox="0 0 100 115">
  <polygon points="50 0, 100 25, 100 75, 50 100, 0 75, 0 25" fill="#3498db" />
</svg>

优势

  • SVG 为矢量图形,缩放无损清晰度。
  • 可通过 CSS 控制填充色和动画。

六边形布局技巧

若需将多个六边形拼接为蜂窝网格,需注意以下 CSS:

.hex-grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: 50px; /* 偏移半个六边形宽度 */
}

.hexagon {
  margin-right: -25px; /* 重叠部分 */
  margin-bottom: -14px; /* 垂直重叠 */
}

原理

css制作六边形

  • 通过负边距和偏移实现六边形的紧密排列。

标签: css六边形
分享给朋友:

相关文章

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div c…

用css制作导航条

用css制作导航条

水平导航条制作 使用display: inline-block或flexbox实现水平导航 为<ul>和<li>设置样式消除默认列表样式 添加padding和margin控制间…

纯css制作下拉菜单

纯css制作下拉菜单

纯CSS下拉菜单实现方法 通过CSS的:hover伪类和display属性可以实现纯CSS下拉菜单,无需JavaScript。以下是具体实现方式: HTML结构示例: <nav class=…

css制作扇形图

css制作扇形图

使用CSS制作扇形图 方法一:使用clip-path和transform 通过CSS的clip-path和transform属性可以快速实现扇形效果。定义一个圆形元素,然后裁剪出扇形部分。 .fan…

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…