Skip to content

Instantly share code, notes, and snippets.

@coulterpeterson
Created February 1, 2020 00:19
Show Gist options
  • Save coulterpeterson/4e95cbad06da4660db1cd3ddd3b99ae6 to your computer and use it in GitHub Desktop.
Save coulterpeterson/4e95cbad06da4660db1cd3ddd3b99ae6 to your computer and use it in GitHub Desktop.
Toggleable snowflakes snippet that can be stuck in the <head> of an #html page. Modified from the CSS snowflakes created by pajasevi
<!-- Start Snowflakes -->
<style>
.snow-toggle {
position: fixed;
bottom: 0;
right: 0;
background: #fff;
border: #efefef solid 1px;
padding: 10px 15px;
display:flex;
flex-direction: row;
align-items: center;
box-shadow: 0px 10px 15px rgba(0,0,0,.3);
border-radius: 10px 0 0 0 ;
}
.snow-toggle p{
margin: 0;
}
.snow-toggle input[type=checkbox]{
height: 0;
width: 0;
visibility: hidden;
}
.snow-toggle label {
cursor: pointer;
text-indent: -9999px;
width: 60px;
height: 30px;
background: grey;
display: block;
border-radius: 100px;
position: relative;
}
.snow-toggle label:after {
content: '';
position: absolute;
top: 5px;
left: 5px;
width: 20px;
height: 20px;
background: #fff;
border-radius: 90px;
transition: 0.3s;
}
.snow-toggle input:checked + label {
background: #bada55;
}
.snow-toggle input:checked + label:after {
left: calc(100% - 5px);
transform: translateX(-100%);
}
.snow-toggle label:active:after {
width: 130px;
}
// snowflakes
// Credit for snowflakes CSS: https://github.com/pajasevi/CSSnowflakes
/* customizable snowflake styling */
.snowflake {
color: #ececec !important;
font-size: 1em;
font-family: Arial, sans-serif;
text-shadow: 0 0 5px #000;
}
@-webkit-keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@-webkit-keyframes snowflakes-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}50%{-webkit-transform:translateX(80px);transform:translateX(80px)}}@keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@keyframes snowflakes-shake{0%,100%{transform:translateX(0)}50%{transform:translateX(80px)}}.snowflake{position:fixed;top:-10%;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;-webkit-animation-name:snowflakes-fall,snowflakes-shake;-webkit-animation-duration:10s,3s;-webkit-animation-timing-function:linear,ease-in-out;-webkit-animation-iteration-count:infinite,infinite;-webkit-animation-play-state:running,running;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running}.snowflake:nth-of-type(0){left:1%;-webkit-animation-delay:0s,0s;animation-delay:0s,0s}.snowflake:nth-of-type(1){left:10%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(2){left:20%;-webkit-animation-delay:6s,.5s;animation-delay:6s,.5s}.snowflake:nth-of-type(3){left:30%;-webkit-animation-delay:4s,2s;animation-delay:4s,2s}.snowflake:nth-of-type(4){left:40%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(5){left:50%;-webkit-animation-delay:8s,3s;animation-delay:8s,3s}.snowflake:nth-of-type(6){left:60%;-webkit-animation-delay:6s,2s;animation-delay:6s,2s}.snowflake:nth-of-type(7){left:70%;-webkit-animation-delay:2.5s,1s;animation-delay:2.5s,1s}.snowflake:nth-of-type(8){left:80%;-webkit-animation-delay:1s,0s;animation-delay:1s,0s}.snowflake:nth-of-type(9){left:90%;-webkit-animation-delay:3s,1.5s;animation-delay:3s,1.5s}.snowflake:nth-of-type(10){left:25%;-webkit-animation-delay:2s,0s;animation-delay:2s,0s}.snowflake:nth-of-type(11){left:65%;-webkit-animation-delay:4s,2.5s;animation-delay:4s,2.5s}
.snowflake {
color: #ececec !important;
}
.snowflakes.hide {
display: none !important;
}
</style>
<script>
jQuery(document).ready(function($){
$('.snowflakes').addClass('hide');
if( $('#snow-switch').is(":checked") ){
$('.snowflakes').removeClass('hide');
} else {
$('.snowflakes').addClass('hide');
}
$('#snow-switch').click(function(){
if($(this).is(':checked')){
$('.snowflakes').removeClass('hide');
} else {
$('.snowflakes').addClass('hide');
}
});
});
</script>
<div class="snowflakes hide" aria-hidden="true">
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
<div class="snowflake">
</div>
</div>
<div class="snow-toggle"><p>Let it Snow</p><input type="checkbox" id="snow-switch" /><label for="snow-switch">Toggle</label></div>
<!-- End Snowflakes -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment