纯css实现蜂窝效果

html 复制代码
  <!DOCTYPE html>
  <html lang="en">
  	<head>
  		<meta charset="UTF-8">
  		<meta name="viewport" content="width=device-width, initial-scale=1.0">
  		<title>蜂窝效果</title>
  		<style>
  			body {
  				margin: 0;
  				padding: 0;
  				display: flex;
  				justify-content: center;
  				align-items: center;
  				min-height: 100vh;
  				background-color: #f0f0f0;
  			}

  			.honeycomb {
  				display: flex;
  				flex-direction: column;
  				align-items: center;
  				width: 700px;
  				height: 400px;
  				overflow: hidden;
  				padding-left: 310px;
  				scroll-behavior: smooth
  			}

  			.hexagon::before {
  				content: '';
  				position: absolute;
  				top: 2px;
  				left: 2px;
  				width: calc(100% + -4px);
  				height: calc(100% + -4px);
  				background-color: white;
  				clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  				z-index: -1;
  			}

  			.honeycomb:has(.hexagon:hover) .scroll-content {
  				animation-play-state: paused;
  			}

  			.scroll-content {
  				animation: 20s linear 0s infinite alternate moveing;
  			}

  			@keyframes moveing {
  				0% {
  					transform: translateX(0);
  				}

  				25% {
  					transform: translateX(-15%);
  				}

  				50% {
  					transform: translateX(-25%);
  				}

  				75% {
  					transform: translateX(-15%);
  				}

  				100% {
  					transform: translateX(0);
  				}
  			}

  			.row {
  				display: flex;
  				justify-content: center;
  				margin-bottom: -36px;
  			}

  			.hexagon {
  				width: 98px;
  				height: 84px;
  				background-color: #000;
  				clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
  				margin: 0 36px;
  				transition: all 0.3s ease;
  				position: relative;
  				overflow: hidden;
  			}

  			.hexagon:hover {
  				transform: scale(1.2);
  				z-index: 2;
  			}

  			.hexagon:hover+.hexagon {
  				transform: scale(0.9);
  			}
  		</style>
  	</head>
  	<body>
  		<div class="honeycomb" id="honeycomb">
  			<div class="scroll-content">
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  				<div class="row">
  					<div class="hexagon">
  						<div class="highlight"></div>
  					</div>
  				</div>
  			</div>
  		</div>
  	</body>
  </html>
相关推荐
m0_7190841112 分钟前
React笔记张天禹
前端·笔记·react.js
Ziky学习记录26 分钟前
从零到实战:React Router 学习与总结
前端·学习·react.js
wuhen_n32 分钟前
JavaScript链表与双向链表实现:理解数组与链表的差异
前端·javascript
wuhen_n36 分钟前
JavaScript数据结构深度解析:栈、队列与树的实现与应用
前端·javascript
我是一只puppy42 分钟前
使用AI进行代码审查
javascript·人工智能·git·安全·源代码管理
颜酱42 分钟前
从二叉树到衍生结构:5种高频树结构原理+解析
javascript·后端·算法
狗哥哥1 小时前
微前端路由设计方案 & 子应用管理保活
前端·架构
前端大卫2 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘2 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare2 小时前
浅浅看一下设计模式
前端