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

【css酷炫效果】纯CSS实现粒子旋转动画

【css酷炫效果】纯CSS实现粒子旋转动画

  • 创作背景
  • html结构
  • css样式
  • 完整代码
  • 效果图

想直接拿走的老板,链接放在这里:https://download.csdn.net/download/u011561335/90492008

创作随缘,不定时更新。

创作背景

刚看到csdn出活动了,赶时间,直接上代码。

html结构

	<div id="particle-container" class='particle-container'></div>

css样式

/* 基本样式重置 */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; /* 防止滚动条出现 */
    background-color: #000; /* 设置背景颜色为黑色 */
}
 
/* 粒子容器 */
.particle-container {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: none; /* 使容器内的粒子不影响鼠标事件 */
}
 
/* 粒子样式 */
.particle-container::before,
.particle-container::after,
.particle {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.8); /* 设置粒子颜色为白色,带有一定的透明度 */
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5); /* 添加一些模糊效果 */
    animation: particleAnimation 5s infinite ease-in-out;
    pointer-events: none;
}
 
/* 使用伪元素生成一些粒子 */
.particle-container::before,
.particle-container::after {
    width: 4px;
    height: 4px;
}
 
/* 使用大量类生成更多粒子 */
.particle:nth-child(1) { top: 5%; left: 10%; animation-delay: 0s; }
.particle:nth-child(2) { top: 15%; left: 20%; animation-delay: 0.2s; }
.particle:nth-child(3) { top: 25%; left: 30%; animation-delay: 0.4s; }

/* 粒子动画关键帧 */
@keyframes particleAnimation {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) translate(200px, -200px);
        opacity: 0;
    }
}

完整代码

<!DOCTYPE html>
<html lang="en"> 
<head>

<title>页面特效</title>
<style type="text/css">
/* 基本样式重置 */
body, html {
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden; /* 防止滚动条出现 */
    background-color: #000; /* 设置背景颜色为黑色 */
}
 
/* 粒子容器 */
.particle-container {
    position: relative;
    width: 100%;
    height: 100%;
    pointer-events: none; /* 使容器内的粒子不影响鼠标事件 */
}
 
/* 粒子样式 */
.particle-container::before,
.particle-container::after,
.particle {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 2px;
    height: 2px;
    background-color: rgba(255, 255, 255, 0.8); /* 设置粒子颜色为白色,带有一定的透明度 */
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.5); /* 添加一些模糊效果 */
    animation: particleAnimation 5s infinite ease-in-out;
    pointer-events: none;
}
 

 
@keyframes particleAnimation {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg) translate(200px, -200px);
        opacity: 0;
    }
}

</style>

</head>
<body>

	<h1 style='color:red;'>斗破苍穹!</h1>
	<div id="particle-container" class='particle-container'></div>
	

</body>

<script>
    const container = document.getElementById('particle-container');
    const numberOfParticles = 100;

	setInterval(function(){
		for (let i = 0; i < numberOfParticles; i++) {
			const particle = document.createElement('div');
			particle.classList.add('particle');
			particle.style.top = Math.random() * 95+ 'vh';
			particle.style.left = Math.random() * 95+ 'vw';
			particle.style.animationDelay = Math.random() * 5 * 0.4+`s`;
			particle.style.width = (Math.floor(Math.random() * 4) + 1)+`px`;
			particle.style.height = Math.floor(Math.random() * 4) + 1+`px`;
			container.appendChild(particle);
		}
	},3000);

</script>

</html>

效果图

在这里插入图片描述

相关文章:

  • NFC 碰一碰发视频源码搭建,支持OEM
  • JavaScript基础-DOM 简介
  • Java爬虫如何处理动态加载的内容?
  • springBoot中不添加依赖 , 手动生成一个token ,并校验token,在统一拦截器中进行校验 (使用简单 , 但是安全性会低一点)
  • Gemini分析屏幕截图时,如何处理图像模态(如界面元素、文字内容)与文本模态(用户指令)的语义对齐?
  • 五、面向对象
  • hibernate 自动生成数据库表和java类 字段顺序不一致 这导致添加数据库数据时 异常
  • XEasyWork:面向AI应用的可视化工作流开发平台
  • Billu_b0x靶场:一场关于网络安全的技术冒险
  • 如何在WordPress中添加下载链接?
  • 通过 TTL 识别操作系统的原理详解
  • AI编程方法案例:PageRank算法实现
  • 大数据(1.1)纽约出租车大数据分析实战:从Hadoop到Azkaban的全链路解析与优化
  • 【经验】重装OpenCV踩雷
  • Unity 获取Game窗口分辨率
  • 深度革命:ResNet 如何用 “残差连接“ 颠覆深度学习
  • 将 YOLO 格式的标注文件(.txt)转换为 VOC 格式的 XML 标注文件
  • 使用 Promise 和 .then() 解决同异步问题
  • IT工具 | node.js 进程管理工具 PM2 大升级!支持 Bun.js
  • 3D标定中的平面约束-平面方程的几何意义
  • 稳住外贸基本盘,这个中部大省出手了
  • 遇冰雹天气,西安机场新航站楼成“水帘洞”
  • 商务部再回应中美经贸高层会谈:美方要拿出诚意、拿出行动
  • “20后”比“60后”更容易遭遇极端气候事件
  • 特色业务多点开花,苏州银行擦亮金融为民底色
  • 诺和诺德一季度减重版司美格鲁肽收入增83%,美国市场竞争激烈下调全年业绩预期