Пример:
Падающий снег
HTML:
|
1 2 3 |
<div class="falling"> <h2>Падающий снег</h2> </div> |
CSS:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
.falling { width: 100%; height: 500px; position: relative; background-image: url("photo-bg.jpg"); background-size: cover; background-position: center center; margin: 10px 0 20px 0; } .falling canvas { position: absolute; top: 0; left: 0; bottom: 0; right: 0; mix-blend-mode: color-dodge; } .falling h2 { padding: 40px; background: rgba(255,255,255,0.3); position: relative; z-index: 2; } |
JS:
Подключаем библиотеку sparticles.min.js или sparticles.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 |
let colors = { color1: "rgba(255,255,255,1)", color2: "rgba(222,184,142,1)", color3: "rgba(232,248,255,1)", color4: "rgba(135,143,145,1)" }; let options = { alphaSpeed: 10, alphaVariance: 1, color: [colors.color1, colors.color2, colors.color3, colors.color4], composition: "source-over", count: 350, direction: 161, float: 0.75, glow: 0, imageUrl: [ "snow-1.svg", "snow-2.svg", "snow-3.svg", "snow-4.svg", "snow-5.svg", "snow-6.svg" ], maxAlpha: 2, maxSize: 22, minAlpha: -0.2, minSize: 4, parallax: 1.75, rotation: 0.5, shape: "image", speed: 3, style: "fill", twinkle: false, xVariance: 5, yVariance: 0, }; window.onload = function() { initSparticles(); } window.initSparticles = function() { var $main = document.querySelector('.falling'); window.mySparticles = new sparticles.Sparticles($main,options); }; |
Описывать все настройки я не буду, с ними более или менее все понятно, а напишу лишь про альтернативные значения некоторых из них:
- composition может иметь значения:
source-over,source-in,source-out,source-atop,destination-over,destination-in,destination-out,destination-atop,lighter,copy,xor,multiply/,screen,overlay,darken,color-dodge,color-burn,hard-light,soft-light,difference,exclusion,hue,saturation,color,luminosity - shape может иметь значения:
circle,square,triangle,diamond,line,image - styles может иметь значения:
fill,stroke,both
Если используется настройка image и снежинки, как в примере - нужно скачать следующие файлы:
А в скрипте прописать к ним пути.

ужос...
отбирает 20% процессора, требуется библиотека на 100500 строк кода, которая даже в минифицированном варианте весит 13,5к.
моя реализация: всего 30 строк JS-кода, 37 строк CSS-кода и всего 5% процесса.
Виталий, можете выложить свой вариант куда-либо? очень нужно
Если готовы поделиться, скиньте, пожалуйста, ссылку на почту stekовчарка9272точка ру. Спасибо!