Vue: Vue.js 是一个用于构建用户界面的渐进式JavaScript框架,它主要关注的是视图层(UI组件)和允许开发人员使用声明式方式编写可重用的 UI 和交互式组件。
Particle.js: Particle.js 是一个轻量级的 JavaScript 库,用于在网页上创建交互式粒子效果。它可以轻松地与任何 JavaScript 库或框架集成,包括 Vue.js。
Particle.js 主要支持以下几种类型的粒子效果:
npm install particles.js --save
<template>
<div id="particles-js"></div>
</template>
<script>
import particlesJS from 'particles.js';
export default {
name: 'ParticleBackground',
mounted() {
this.initParticlesJS();
},
methods: {
initParticlesJS() {
particlesJS('particles-js', {
particles: {
number: {
value: 80,
density: {
enable: true,
value_area: 800
}
},
color: {
value: '#ffffff'
},
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: false,
anim: {
enable: 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,
distance: 150,
color: '#ffffff',
opacity: 0.4,
width: 1
},
move: {
enable: true,
speed: 6,
direction: 'none',
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: 'grab'
},
onclick: {
enable: true,
mode: 'push'
},
resize: true
},
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
});
}
}
};
</script>
<style>
#particles-js {
position: absolute;
width: 100%;
height: 100%;
background-color: #000000;
background-image: url('');
background-repeat: no-repeat;
background-size: cover;
background-position: 50% 50%;
z-index: -1;
}
</style>
particles-js
容器的大小和位置,确保它覆盖了整个视口。mounted
生命周期钩子中初始化 Particle.js。通过以上步骤和注意事项,你应该能够在 Vue 项目中成功集成并使用 Particle.js 创建吸引人的背景效果。
领取专属 10元无门槛券
手把手带您无忧上云