纯css实现粒子效果

本文介绍如何利用CSS3(Sass)创建粒子效果,通过box-shadow生成粒子,结合animation和transform 3d的translateZ实现动画。详细阐述了思路与实现步骤,并提供了在线研究和源码下载链接。
摘要由CSDN通过智能技术生成
前端开发whqet,csdn,王海庆,whqet,前端开发专家

好久没有更新的CSS3演武场系列,半年前搁浅的一篇文章赋予新年新气象闪亮登场了,研究一下利用css(sass)实现粒子效果,主要使用box-shadow生成粒子,利用css3 animation和translateZ实现动画

------------------------------------------------------------

--我参加了博客之星评选,如果你喜欢我的博客,求投票,您的支持是我的动力之源走起!

-----------------------------------------------------------------------------------------

看效果先


思路解析

1.box-shadow生成粒子,赋予随机位置、随机颜色,利用sass的for循环和random()实现。

2.animation实现动画。

3.transform 3d实现深度动画,主要使用translateZ。

实现

下面我们分别来实现一下,源码我放在了codepen,请大家移步

----------------

-----------------------------

实现粒子图,可以使用CSS的伪元素和动画效果。 首先,创建一个包含粒子的容器,可以设置其大小和背景颜色。然后使用伪元素来创建每个粒子,可以使用圆形或者其他形状,设置其大小、颜色、位置等属性。 接下来,使用CSS动画效果来让粒子移动或者变换位置。可以使用@keyframes关键字来定义动画,然后将其应用到伪元素上。 最后,可以使用JavaScript来控制粒子的数量、速度、方向等属性,实现更加丰富的效果。 下面是一个简单的例子: HTML代码: ``` <div class="particles"> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> <div class="particle"></div> </div> ``` CSS代码: ``` .particles { width: 400px; height: 400px; background-color: #000; position: relative; } .particle { width: 10px; height: 10px; background-color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); border-radius: 50%; } .particle:nth-child(1) { animation: move1 2s linear infinite; } .particle:nth-child(2) { animation: move2 3s linear infinite; } .particle:nth-child(3) { animation: move3 4s linear infinite; } .particle:nth-child(4) { animation: move4 5s linear infinite; } .particle:nth-child(5) { animation: move5 6s linear infinite; } @keyframes move1 { 0% { top: 50%; left: 50%; } 50% { top: 20%; left: 20%; } 100% { top: 50%; left: 50%; } } @keyframes move2 { 0% { top: 50%; left: 50%; } 50% { top: 80%; left: 20%; } 100% { top: 50%; left: 50%; } } @keyframes move3 { 0% { top: 50%; left: 50%; } 50% { top: 20%; left: 80%; } 100% { top: 50%; left: 50%; } } @keyframes move4 { 0% { top: 50%; left: 50%; } 50% { top: 80%; left: 80%; } 100% { top: 50%; left: 50%; } } @keyframes move5 { 0% { top: 50%; left: 50%; } 50% { top: 50%; left: 20%; } 100% { top: 50%; left: 50%; } } ``` 这个例子中,我们创建了一个大小为400x400的容器,设置其背景为黑色。然后使用伪元素创建了5个白色圆形粒子,并分别应用了不同的动画效果。最后,通过@keyframes关键字定义了5个不同的动画,实现粒子的移动效果
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值