particles.js粒子背景

particles.js

一个轻量级的创建粒子背景的 JavaScript 库
我们先看一下效果图

标准版
在这里插入图片描述
星空版
在这里插入图片描述
泡泡版
在这里插入图片描述
下雪版
在这里插入图片描述

使用

下载相关配置文件
Github:https://github.com/VincentGarreau/particles.js
下载上面的demo,然后将particles.min.jsapp.jsstyle.css提取出来

首先在项目中引入particles.min.jsapp.jsstyle.css刚刚提出出来的三个文件

<link rel="stylesheet" href="./particles/style.css">

<script src="./particles/particles.min.js"></script>
<script src="./particles/app.js"></script>

body中提供一个容器

<body>
    <div id="particles-js"></div>

    <div id="app">内容</div>
</body>

将粒子背景div和内容div设置定位

#particles-js{
    position: absolute;
}
#app{
    position: absolute;
    z-index: 1;
}

这样就已经看到效果了
在这里插入图片描述

修改样式

style.css文件中设置背景色

#particles-js{
  width: 100%;
  height: 100%;
  background-color: #E9EDF0;/*设置背景色*/
  background-image: url('');
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
}

app.js文件中设置粒子效果样式

particlesJS("particles-js", 
{
  "particles": {
    "number": {
      "value": 280,//原子的数量
      "density": {
        "enable": true,//启用原子的稀密程度 (true 或 false)
        "value_area": 800// 每一个原子占据的空间(启用原子密度,才可用)
      }
    },
    "color": {
      "value": "#1AB6BA"//原子的颜色
    },
    "shape": {
      "type": "circle",//原子的形状 (”circle” “edge” “triangle” “polygon” “star” “image”)
      "stroke": {
        "width": 0,//原理的宽度
        "color": "#1AB6BA"//原子颜色
      },
      "polygon": {
        "nb_sides": 5//原子的多边形边数
      }
    },
    "opacity": {
      "value": 0.5,//原子的透明度
      "random": false,//随机不透明度 true / false
      "anim": {
        "enable": false,//渐变动画true / false
        "speed": 1,//渐变动画速度
        "opacity_min": 0.1,//渐变动画不透明度
        "sync": false
      }
    },
    "size": {
      "value": 3,//原子大小
      "random": true,//原子大小随机
      "anim": {
        "enable": false,//原子渐变
        "speed": 40,//原子渐变速度
        "size_min": 0.1,
        "sync": false
      }
    },
    "line_linked": {
      "enable": true,//连接线true / false
      "distance": 150,//连接线距离
      "color": "#a1c4c5",//连接线颜色
      "opacity": 0.4,//连接线不透明度
      "width": 1//连接线的宽度
    },
    "move": {
      "enable": true,//原子移动true / false
      "speed": 6,//原子移动速度
      "direction": "none",//原子移动方向(	"none", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left")
      "random": false,//移动随机方向true / false
      "straight": false,//直接移动true / false
      "out_mode": "out",//是否移动出画布 "out", "bounce"
      "bounce": false,//是否跳动移动 true / false
      "attract": {
        "enable": false,//原子之间吸引
        "rotateX": 600,//原子之间吸引x水平距离
        "rotateY": 1200//原子之间吸引y垂直距离
      }
    }
  },
  "interactivity": {
    "detect_on": "canvas",//原子之间互动检测 "canvas", "window"
    "events": {
      "onhover": {
        "enable": true,//悬停true / false
        "mode": "grab"//悬停模式 ("grab"抓取临近的,"bubble"泡沫球效果,"repulse"击退效果)
      },
      "onclick": {
        "enable": true,//点击效果true / false
        "mode": "push"//点击效果模式(push,remove,bubble,repulse)
      },
      "resize": true//互动事件调整	true / false
    },
    "modes": {
      "grab": {
        "distance": 140,//原子互动抓取距离
        "line_linked": {
          "opacity": 1//原子互动抓取距离连线不透明度
        }
      },
      "bubble": {
        "distance": 400,//原子抓取泡沫效果之间的距离
        "size": 40,//原子抓取泡沫效果之间的大小
        "duration": 2,//原子抓取泡沫效果之间的持续时间
        "opacity": 8,
        "speed": 3
      },
      "repulse": {
        "distance": 200,//击退效果距离
        "duration": 0.4//击退效果持续时间
      },
      "push": {
        "particles_nb": 4//粒子推出的数量
      },
      "remove": {
        "particles_nb": 2
      }
    }
  },
  "retina_detect": true
});

详细配置请查看:https://jiuaidu.com/jianzhan/826989/

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值