当前位置: 首页 > news >正文

HTML+CSS+JS 实现3D风吹草动效果(B站视频)

效果:

代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>3D effect</title><style>* {margin: 0;padding: 0;}body {background-color: black;color: aliceblue;min-height: 100vh;display: grid;place-items: center;perspective: 1000px;}body * {transform-style: preserve-3d;}.scene {position: relative;animation: scene 40s infinite linear;}@keyframes scene {from {transform: rotateX(45deg) rotateZ(0deg);}to {transform: rotateX(45deg) rotateZ(360deg);}}.grid {position: absolute;inset: -10em;display: grid;grid-template-columns: repeat(10, 1fr);gap: 1.5em;}.grid i {position: relative;width: 100%;height: 100%;animation: i 5s var(--delay, 0s) infinite linear;}@keyframes i {from {transform: rotate(0deg) rotateX(30deg);}to {transform: rotate(360deg) rotateX(30deg);}}.grid i::before,.grid i::after {content: "";position: absolute;top: -950%;width: 120%;height: 2000%;transform: rotateX(90deg);border-radius: 50%;background-image: linear-gradient(#000000, rgb(7, 192, 41));}.grid i::after {transform: rotateX(90deg) rotateY(90deg);}</style></head><body><div class="scene"><div class="grid"></div></div><script>const gridElement = document.querySelector(".grid");let htmlCode = "";for (let i = 0; i < 100; i++) {let rowStarDelay = -0.2 * Math.floor(i / 10);let delay = rowStarDelay + -0.22 * (i % 10);htmlCode += `<i style="--delay:${delay}s;"></i>`;}gridElement.innerHTML = htmlCode;</script></body>
</html>

>>来自B站学习视频

up主:山羊の前端小窝

http://www.lryc.cn/news/397561.html

相关文章:

  • 常用网络概念
  • 图鸟UI框架在uni-app多端应用开发中的实践与应用
  • 特征值究竟体现了矩阵的什么特征?
  • C语言-顺序表
  • OpenCV漫水填充函数floodFill函数的使用
  • redis内存分析
  • redis批量删除keys,用lua脚本。
  • Python-找客户软件
  • STM32 - PWR 笔记
  • 标准盒模型和怪异盒子模型的区别
  • 推荐算法——MRR
  • idea中打开静态网页端口是63342而不是8080
  • Vue3框架搭建3:配置说明-prettier配置
  • SQL MySQL定时器/事件调度器(Event Scheduler)
  • 从0到1构建渠道运营体系:实战案例与策略指南
  • Java版Flink使用指南——将消息写入到RabbitMQ的队列中
  • python excel openpyxl
  • C++八股(一)
  • 【Git的基本操作】版本回退 | 撤销修改的三种情况 | 删除文件
  • STM32-I2C
  • 04.ffmpeg打印音视频媒体信息
  • 微信开发授权登录梳理总结
  • HTML5实现我的音乐网站源码
  • UNI_App平台调试指南 debug(十五)
  • LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎
  • 【错题集-编程题】AOE还是单体?(贪心)
  • 怎么办?我的C盘又爆红了!别慌!博主手把手带你管理你的C盘空间~
  • react启用mobx @decorators装饰器语法
  • 计算机如何学习
  • 【Python 基础】函数 - 1