Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

magic-snowflakes

hcodes10.2kMIT7.0.1TypeScript support: included

Falling snowflakes

snow, snowflakes, snowflake, flake, newyear, christmas, falling, снежинки, снежинка, flocons de neige, schneeflocken, fiocchi di neve, copos de nieve, 雪花, 雪の結晶

readme

❄️☃️🎄 Falling snowflakes

NPM version NPM Downloads install size

Details

  • Only one JavaScript file
  • CSS Animation
  • Rubber design
  • Flexible settings

Examples

See details

Using

npm i magic-snowflakes --save-dev

Without settings

Paste anywhere in your page's HTML:

<script src="https://unpkg.com/magic-snowflakes/dist/snowflakes.auto.min.js"></script>

With settings

<html>
<body>
    ...
    <script src="https://unpkg.com/magic-snowflakes/dist/snowflakes.min.js"></script>
    <script>
        new Snowflakes({
            wind: false,
            rotation: false
        });
    </script>
</body>
</html>

Advanced settings

<html>
<head>
<style>
    #snowflakes-container {
        width: 500px;
        height: 500px;
        position: relative;
        overflow: hidden;
    }
</style>
</head>
<body>
    <div id="snowflakes-container"></div>
    <script src="https://unpkg.com/magic-snowflakes/dist/snowflakes.min.js"></script>
    <script>
        var snowflakes = new Snowflakes({
            color: '#f00', // Default: "#5ECDEF"
            container: document.querySelector('#snowflakes-container'), // Default: document.body
            count: 100, // 100 snowflakes. Default: 50
            minOpacity: 0.1, // From 0 to 1. Default: 0.6
            maxOpacity: 0.95, // From 0 to 1. Default: 1
            minSize: 20, // Default: 10
            maxSize: 50, // Default: 25
            rotation: true, // Default: true
            speed: 2, // The property affects the speed of falling. Default: 1
            wind: false, // Without wind. Default: true
            width: 500, // Default: width of container
            height: 250, // Default: height of container
            zIndex: 100, // Default: 9999,
            autoResize: true // Default: true
        });
    </script>
</body>
</html>

Typescript or ES6

import Snowflakes from 'magic-snowflakes';
const snowflakes = new Snowflakes();
// ...
snowflakes.stop();
// ...
snowflakes.start();
// ...
snowflakes.destroy();

API

import Snowflakes from 'magic-snowflakes';
const snowflakes = new Snowflakes();

.start()

Start CSS Animation.

.stop()

Stop CSS Animation.

.show()

Show snowflakes.

.hide()

Hide snowflakes.

.resize()

Resize snowflakes.

.destroy()

Destroy the instance of snowflakes.

Different Builds

In the dist/ directory of the NPM package you will find many different builds of snowflakes.js.

Type Filename Description
Full (UMD) snowflakes.js
Full (UMD, production) snowflakes.min.js
Full auto snowflakes.auto.js Without API
Full auto (production) snowflakes.auto.min.js Without API
ES6 or Typescript snowflakes.esm.js
Light (UMD) snowflakes.light.js Without SVG images
Light (UMD, production) snowflakes.light.min.js Without SVG images

Development

git clone git@github.com:hcodes/snowflakes.git ./snowflakes
cd ./snowflakes

npm i
npm run build
npm test

open ./examples/

License

MIT License

changelog

v7.0.1

  • Updated README.

v7.0.0

  • Removed -webkit- prefix for animation and transform CSS properties.
  • Added hasSupport() static method.
  • Simplified installation in HTML page, only one line is needed.

v6.3.0

  • Improved positioning of snowflakes when resizing the window.

v6.2.1

  • Fix for server rendering.

v6.2.0

  • Improved randomization of snowflake positions.

v6.1.0

  • Add autoResize param.

v6.0.1

Fix: Resize container for snowflakes only if necessary #51.

v6.0.0

  • Fixes for TypeScript typings.
  • Added show/hide methods.

BREAKING CHANGES:

Before:

Snowflakes();
// or
new Snowflakes();

After:

new Snowflakes();

v5.0.0

  • Code rewritten on TypeScript.
  • Added TypeScript typings.
  • Support for es6 modules.

v4.2.0

  • Slowed down rotation of snowflakes, changed default some properties #20.
  • Separate styles for multiple instances #29.
  • Removed z-index for every snowflake, only common z-index for container of snowflakes #27.
  • Updated dev deps.

v4.1.5

  • Updated dev deps.

v4.1.4

  • Code refactoring.
  • Update dev deps in package.json.

v4.1.3

  • Fix color #25.
  • Update dev deps in package.json.

v4.1.2

  • Update dev deps in package.json.

v4.1.1

  • Fixed Safari scroll problem #21.

v4.1.0

  • Added CSS user-select: none and pointer-events: none for snowflakes.

v4.0.2

  • Updated dev deps in package.json.

v4.0.1

  • Updated dev deps in package.json.

v4.0.0

  • Added minSize and maxSize properties. You can set the size of snowflakes. Example.
  • Added minOpacity and maxOpacity properties.
  • Removed useScale property.
  • useRotate property renamed to rotation.
  • Added light version without SVG images: dist/snowflakes.light.js and dist/snowflakes.light.min.js. You can set your own kind of snowflakes. Example.

v3.1.0

  • demo.html moved to https://github.com/hcodes/demo-snowflakes
  • example/examples/
  • Added new examples
  • Small refactoring

v3.0.0

  • Now snowflakes in SVG format.
  • You can change the color of snowflakes. The property color: "red". Default: "#5ECDEF".
  • Snowflakes can fly without wind. The property wind: false. Default: true.

v2.2.1

Fixed Babel dependencies #10.

v2.2.0

Removed dist/.

v2.1.1

  • Small fix for server side #7.

v2.1.0

  • Added examples.
  • Fixes for constructor.

v2.0.1

Removed console.log.

v2.0.0

  • CSS optimization.
  • Added Gulp and Rollup with Babel.

v1.0.0

First public release.