纯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>
相关推荐
Bug从此不上门4 分钟前
【无标题】
前端·javascript·uni-app·vue
HarderCoder4 分钟前
ByAI:Redux中间件的原理和ts简化实现
前端·redux
贩卖纯净水.8 分钟前
Webpack依赖
前端·webpack·node.js
crary,记忆9 分钟前
微前端 - Module Federation使用完整示例
前端·react·angular
不知几秋15 分钟前
Spring Boot
java·前端·spring boot
程序猿ZhangSir19 分钟前
Vue3 项目的基本架构解读
前端·javascript·vue.js
HarderCoder23 分钟前
ByAI: Redux的typescript简化实现
前端
90后的晨仔30 分钟前
RxSwift 框架解析
前端·ios
我命由我1234536 分钟前
VSCode - VSCode 放大与缩小代码
前端·ide·windows·vscode·前端框架·编辑器·软件工具
Mintopia44 分钟前
当数字橡皮泥遇上魔法:探秘计算机图形学的细分曲面
前端·javascript·计算机图形学