<div id="js-particles" style="position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;"></div>
<script src="https://cdn.jsdelivr.net/particles.js/2.0.0/particles.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function () {
const colors = ['#ff223e', '#5d1eb2', '#ff7300']; /* Пропишите цвета для эффекта */
const size = 3; /* Если добавили цвета больше 3 штук, укажите необходимое количетво */
function getParticleCount() {
const w = window.innerWidth;
if (w > 1024) return 60;
if (w > 768) return 50;
return 40;
}
particlesJS("js-particles", {
particles: {
number: { value: getParticleCount() },
color: { value: colors },
shape: { type: "circle" },
opacity: { value: 1 },
size: { value: size, random: true },
line_linked: { enable: false },
move: {
enable: true,
speed: 2,
direction: "none",
random: true,
straight: false,
out_mode: "out"
}
},
interactivity: {
detect_on: "canvas",
events: { onhover: { enable: false }, onclick: { enable: false }, resize: true }
},
retina_detect: true
});
});
</script>
<style>
#js-particles canvas {
position: absolute;
width: 100%;
height: 100%;
}
.particles-js-canvas-el circle {
fill: currentColor;
filter: url(#glow);
}
</style>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<defs>
<filter id="glow">
<feGaussianBlur stdDeviation="3.5" result="coloredBlur" />
<feMerge>
<feMergeNode in="coloredBlur" />
<feMergeNode in="SourceGraphic" />
</feMerge>
</filter>
</defs>
</svg>