Skip to content

Instantly share code, notes, and snippets.

@pajasevi
Last active January 3, 2025 13:09
Show Gist options
  • Save pajasevi/0c50b0b95795debd6c1e to your computer and use it in GitHub Desktop.
Save pajasevi/0c50b0b95795debd6c1e to your computer and use it in GitHub Desktop.
<style>
/* customizable snowflake styling */
.snowflake {
color: #fff;
font-size: 1em;
font-family: Arial, sans-serif;
text-shadow: 0 0 5px #000;
}
.snowflake,.snowflake .inner{animation-iteration-count:infinite;animation-play-state:running}@keyframes snowflakes-fall{0%{transform:translateY(0)}100%{transform:translateY(110vh)}}@keyframes snowflakes-shake{0%,100%{transform:translateX(0)}50%{transform:translateX(80px)}}.snowflake{position:fixed;top:-10%;z-index:9999;-webkit-user-select:none;user-select:none;cursor:default;pointer-events:none;animation-name:snowflakes-shake;animation-duration:3s;animation-timing-function:ease-in-out}.snowflake .inner{animation-duration:10s;animation-name:snowflakes-fall;animation-timing-function:linear}.snowflake:nth-of-type(0){left:1%;animation-delay:0s}.snowflake:nth-of-type(0) .inner{animation-delay:0s}.snowflake:first-of-type{left:10%;animation-delay:1s}.snowflake:first-of-type .inner,.snowflake:nth-of-type(8) .inner{animation-delay:1s}.snowflake:nth-of-type(2){left:20%;animation-delay:.5s}.snowflake:nth-of-type(2) .inner,.snowflake:nth-of-type(6) .inner{animation-delay:6s}.snowflake:nth-of-type(3){left:30%;animation-delay:2s}.snowflake:nth-of-type(11) .inner,.snowflake:nth-of-type(3) .inner{animation-delay:4s}.snowflake:nth-of-type(4){left:40%;animation-delay:2s}.snowflake:nth-of-type(10) .inner,.snowflake:nth-of-type(4) .inner{animation-delay:2s}.snowflake:nth-of-type(5){left:50%;animation-delay:3s}.snowflake:nth-of-type(5) .inner{animation-delay:8s}.snowflake:nth-of-type(6){left:60%;animation-delay:2s}.snowflake:nth-of-type(7){left:70%;animation-delay:1s}.snowflake:nth-of-type(7) .inner{animation-delay:2.5s}.snowflake:nth-of-type(8){left:80%;animation-delay:0s}.snowflake:nth-of-type(9){left:90%;animation-delay:1.5s}.snowflake:nth-of-type(9) .inner{animation-delay:3s}.snowflake:nth-of-type(10){left:25%;animation-delay:0s}.snowflake:nth-of-type(11){left:65%;animation-delay:2.5s}
</style>
<div class="snowflakes" aria-hidden="true">
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
<div class="snowflake">
<div class="inner">❅</div>
</div>
</div>
@nac-ck12
Copy link

nac-ck12 commented Dec 7, 2018

@pajasevi, thanks for this wonderful gem!

@dexit
Copy link

dexit commented Nov 15, 2019

Amazing man :)

@PandaPanna
Copy link

Thank you!

@crashdaddy
Copy link

Looks pretty good. https://www.crazyhappyfuntime.com/eventer.php

How do we make it "date-sensitive" so that every year between dec15-dec26 it shows this animation, but programmatically reverts to normal for the rest of the year?

@crashdaddy
Copy link

I figured it out. I put <?php if(date("m")=="12" && date("d") < "26") {?> before the style and <?php }; ?> after the style!

@OliEfr
Copy link

OliEfr commented Dec 4, 2020

Hi :)
Is it possible to insert this snipped directly into my webpage. I tried using:

<script src="https://gist.github.com/pajasevi/0c50b0b95795debd6c1e.js"></script>

but it doesnt work. I am not sure how to use it.

@pajasevi
Copy link
Author

pajasevi commented Dec 4, 2020

@OliEfr No, not really. You will have to copy the snippet and save it to your project. Or insert it directly into the <head> of your page.

@OliEfr
Copy link

OliEfr commented Dec 4, 2020

Okay thanks @pajasevi
I created a fork and wrapped your code into javascript functions. I tried adding this with the script-tag as well - but didnt work.
What is the embed-code for? (<script src="https://gist.github.com/OliEfr/ce9f3a9ab003acfcf25a7533e59307ff.js"></script>)
I ended up copying your code into my project ...
Just thought that there might be a way to embed gists directly...

@Rudxain
Copy link

Rudxain commented Aug 23, 2022

@OliEfr you have to use the "raw content" link: https://gist.githubusercontent.com/pajasevi/0c50b0b95795debd6c1e/raw/7681f4feb747c7fa0d44da782a5cfbb5b9ed7207/snowflake-snippet

But it won't work, because GH has CORS protection

@YJ-NAM
Copy link

YJ-NAM commented Oct 4, 2022

This is soooo useful! Thanks for your sharing!

@HotShot0
Copy link

how to make the fall slow?

@pajasevi
Copy link
Author

@HotShot0 change animation-duration:10s to a higher value

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment