Featured image of post 使用 particles.js 美化网页背景

使用 particles.js 美化网页背景

参数配置

GitHub 项目地址:https://github.com/VincentGarreau/particles.js

共需要两个文件:particles.min.jsapp.js,这两个文件均可从项目地址中获取,需要修改的是 app.js 文件。

particles.min.js 也可以使用 CDN 引入而无需下载:https://cdn.jsdelivr.net/npm/[email protected]/particles.min.js

进入官方提供的预览网址:https://vincentgarreau.com/particles.js

在右侧工具栏调整自己想要的粒子效果,最后选择下载 JSON 文件。

将 JSON 文件中的的参数全部复制,替换 app.js 中原有的默认参数。

app.js 样例:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
particlesJS('particles-js',
  
  {
    "particles": {
      "number": {
        "value": 230,
        "density": {
          "enable": true,
          "value_area": 800
        }
      },
      "color": {
        "value": "#b0e0e6"
      },
      "shape": {
        "type": "circle",
        "stroke": {
          "width": 0,
          "color": "#000000"
        },
        "polygon": {
          "nb_sides": 5
        },
        "image": {
          "src": "img/github.svg",
          "width": 100,
          "height": 100
        }
      },
      "opacity": {
        "value": 0.5,
        "random": true,
        "anim": {
          "enable": false,
          "speed": 1,
          "opacity_min": 0.1,
          "sync": false
        }
      },
      "size": {
        "value": 10,
        "random": true,
        "anim": {
          "enable": false,
          "speed": 40,
          "size_min": 0.1,
          "sync": false
        }
      },
      "line_linked": {
        "enable": false,
        "distance": 500,
        "color": "#ffffff",
        "opacity": 0.4,
        "width": 2
      },
      "move": {
        "enable": true,
        "speed": 1.8,
        "direction": "bottom",
        "random": false,
        "straight": false,
        "out_mode": "out",
        "bounce": false,
        "attract": {
          "enable": false,
          "rotateX": 600,
          "rotateY": 1200
        }
      }
    },
    "interactivity": {
      "detect_on": "canvas",
      "events": {
        "onhover": {
          "enable": true,
          "mode": "bubble"
        },
        "onclick": {
          "enable": true,
          "mode": "repulse"
        },
        "resize": true
      },
      "modes": {
        "grab": {
          "distance": 400,
          "line_linked": {
            "opacity": 0.5
          }
        },
        "bubble": {
          "distance": 400,
          "size": 4,
          "duration": 0.3,
          "opacity": 1,
          "speed": 3
        },
        "repulse": {
          "distance": 200,
          "duration": 0.4
        },
        "push": {
          "particles_nb": 4
        },
        "remove": {
          "particles_nb": 2
        }
      }
    },
    "retina_detect": true
  }

);

引入

将这两个文件上传到网站目录中合适的位置,最后在 <body> 标签中插入以下语句,注意最后两行 particles.min.jsapp.js 的文件路径,需自行修改。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<!-- particles.js style -->
<style type="text/css">
  #particles-js {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: -1;
}
</style>

<!-- particles.js container -->
<div id="particles-js"></div>

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

一切都完成之后就可以看到效果啦。

使用 Hugo 构建
主题 StackJimmy 设计