Skip to content

Instantly share code, notes, and snippets.

@ptvans
Created August 5, 2014 03:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ptvans/23fac4512931106dba25 to your computer and use it in GitHub Desktop.
Save ptvans/23fac4512931106dba25 to your computer and use it in GitHub Desktop.
loader-dots
{"description":"loader-dots","endpoint":"","display":"div","public":true,"require":[],"fileconfigs":{"inlet.js":{"default":true,"vim":false,"emacs":false,"fontSize":12},"index.html":{"default":true,"vim":false,"emacs":false,"fontSize":12},"style.css":{"default":true,"vim":false,"emacs":false,"fontSize":12},"_.md":{"default":true,"vim":false,"emacs":false,"fontSize":12},"config.json":{"default":true,"vim":false,"emacs":false,"fontSize":12}},"fullscreen":false,"play":true,"loop":false,"restart":false,"autoinit":true,"pause":true,"loop_type":"pingpong","bv":false,"nclones":15,"clone_opacity":0.4,"duration":3000,"ease":"linear","dt":0.01,"ajax-caching":true,"thumbnail":"http://i.imgur.com/Zhcnv32.png"}
<div class="loader">
<div class="dot"></div>
<div class="dot"></div>
<div class="dot"></div>
</div>
//http://codepen.io/TheDutchCoder/pen/hzDqw
/**
* Document defaults
*/
/* The loader container */
.loader {
position: absolute;
top: 50%;
left: 50%;
width: 200px;
height: 200px;
margin-top: -100px;
margin-left: -100px;
perspective: 200px;
transform-type: preserve-3d;
}
/* The dot */
.dot {
position: absolute;
top: 50%;
left: 50%;
width: 120px;
height: 120px;
margin-top: -60px;
margin-left: -60px;
border-radius: 100px;
border: 40px outset #1e3f57;
transform-type: preserve-3d;
transform-origin: 50% 50%;
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
background-color: transparent;
animation: dot1 1000ms cubic-bezier(.49,.06,.43,.85) infinite;
}
.dot:nth-child(2) {
width: 140px;
height: 140px;
margin-top: -70px;
margin-left: -70px;
border-width: 30px;
border-color: #447891;
animation-name: dot2;
animation-delay: 75ms;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.1);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
.dot:nth-child(3) {
width: 160px;
height: 160px;
margin-top: -80px;
margin-left: -80px;
border-width: 20px;
border-color: #6bb2cd;
animation-name: dot3;
animation-delay: 150ms;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.1);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
@keyframes dot1 {
0% {
border-color: #1e3f57;
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
50% {
border-color: #1e574f;
transform: rotateX(20deg) rotateY(20deg) rotateZ(50deg) translateZ(0px);
}
100% {
border-color: #1e3f57;
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
}
@keyframes dot2 {
0% {
border-color: #447891;
box-shadow: inset 0 0 15px 0 rgba(255, 255, 255, 0.2);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
50% {
border-color: #449180;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.8);
transform: rotateX(20deg) rotateY(20deg) rotateZ(50deg) translateZ(0px);
}
100% {
border-color: #447891;
box-shadow: inset 0 0 15px 0 rgba(255, 255, 255, 0.2);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
}
@keyframes dot3 {
0% {
border-color: #6bb2cd;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.1);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
50% {
border-color: #6bcdb2;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.8);
transform: rotateX(20deg) rotateY(20deg) rotateZ(50deg) translateZ(0px);
}
100% {
border-color: #6bb2cd;
box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.1);
transform: rotateX(24deg) rotateY(20deg) rotateZ(0deg) translateZ(-25px);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment