纯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>
相关推荐
AI浩7 小时前
【Labelme数据操作】LabelMe标注批量复制工具 - 完整教程
运维·服务器·前端
涔溪7 小时前
CSS 网格布局(Grid Layout)核心概念、基础语法、常用属性、实战示例和进阶技巧全面讲解
前端·css
2401_878454537 小时前
浏览器工作原理
前端·javascript
西陵8 小时前
为什么说 AI 赋能前端开发,已经不是选择题,而是必然趋势?
前端·架构·ai编程
by__csdn9 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript
天天扭码9 小时前
前端如何实现RAG?一文带你速通,使用RAG实现长期记忆
前端·node.js·ai编程
Luna-player10 小时前
在前端中,<a> 标签的 href=“javascript:;“ 这个是什么意思
开发语言·前端·javascript
lionliu051910 小时前
js的扩展运算符的理解
前端·javascript·vue.js
小草cys10 小时前
项目7-七彩天气app任务7.4.2“关于”弹窗
开发语言·前端·javascript
奇舞精选10 小时前
GELab-Zero 技术解析:当豆包联手中兴,开源界如何守住端侧 AI 的“最后防线”?
前端·aigc