UNPKG

metro4

Version:

The front-end framework for Build responsive, mobile-first projects on the web with the first front-end component library in Metro Style

521 lines (432 loc) 8.48 kB
@import (once) "include/vars"; @import (once) "include/mixins"; .ani-spin, .ani-hover-spin:hover { .animate( ani-spin 1.5s linear infinite); } .ani-pulse, .ani-hover-pulse:hover { .animate(ani-pulse 1.7s infinite); } .ani-spanner, .ani-hover-spanner:hover { transform-origin: 90% 35%; .animate( ani-wrench 2.5s ease infinite ); } .ani-ring, .ani-hover-ring:hover { transform-origin: 50% 0; .animate(ani-ring 2s ease infinite); } .ani-vertical, .ani-hover-vertical:hover { .animate(ani-vertical 2s ease infinite); } .ani-horizontal, .ani-hover-horizontal:hover { .animate(ani-horizontal 2s ease infinite); } .ani-flash, .ani-hover-flash:hover { .animate(ani-flash 2s ease infinite); } .ani-bounce, .ani-hover-bounce:hover { .animate(ani-bounce 2s ease infinite); } .ani-float, .ani-hover-float:hover { .animate(ani-float 2s linear infinite); } .ani-heartbeat, .ani-hover-heartbeat:hover { .animate(ani-heartbeat 2s linear infinite); } .ani-shake, .ani-hover-shake:hover { .animate(ani-wrench 2.5s ease infinite); } .ani-shuttle, .ani-hover-shuttle:hover { .animate(ani-shuttle 2s linear infinite); } .ani-pass, .ani-hover-pass:hover { .animate(ani-pass 2s linear infinite); } .ani-ripple, .ani-hover-ripple:hover { .animate(ani-ripple 2s infinite linear); } @keyframes swinging{ 0% { .rotate(0deg); } 5% { .rotate(10deg); } 10% { .rotate(-9deg); } 15% { .rotate(8deg); } 20% { .rotate(-7deg); } 25% { .rotate(6deg); } 30% { .rotate(-5deg); } 35% { .rotate(4deg); } 40% { .rotate(-3deg); } 45% { .rotate(2deg); } 50% { .rotate(0deg); } 100% { .rotate(0deg); } } @keyframes scaleout { 0% { .scale(0.0); } 100% { .scale(1.0); opacity: 0; } } @keyframes cubemove { 25% { transform: translateX(10px) rotate(-90deg); } 50% { transform: translateX(10px) translateY(10px) rotate(-179deg); } 50.1% { transform: translateX(10px) translateY(10px) rotate(-180deg); } 75% { transform: translateX(0px) translateY(10px) rotate(-270deg); } 100% { transform: rotate(-360deg); } } @keyframes orbit { 0% { opacity: 1; animation-timing-function: ease-out; .rotate(225deg); } 7% { .rotate(345deg); animation-timing-function: linear; } 35% { .rotate(495deg); animation-timing-function: ease-in-out; } 42% { .rotate(690deg); animation-timing-function: linear; } 70% { opacity: 1; .rotate(835deg); animation-timing-function: linear; } 76% { opacity: 1; } 77% { .rotate(955deg); animation-timing-function: ease-in; } 78% { .rotate(955deg); opacity: 0; } 100% { .rotate(955deg); opacity: 0; } } @keyframes metro-slide { 0% { left: -50%; } 100% { left: 150%; } } @keyframes metro-opacity { 0% { opacity: 0; } 50% { opacity: .5; } 100% { opacity: 1; } } @keyframes ani-spin { 0% { .rotate(0deg); } 100% { .rotate(359deg); } } @keyframes ani-pulse { 0% { .rotate(0deg); } 100% { .rotate(359deg); } } @keyframes ani-wrench { 0% { transform: rotate(-12deg) } 8% { transform: rotate(12deg) } 10% { transform: rotate(24deg) } 18% { transform: rotate(-24deg) } 20% { transform: rotate(-24deg) } 28% { transform: rotate(24deg) } 30% { transform: rotate(24deg) } 38% { transform: rotate(-24deg) } 40% { transform: rotate(-24deg) } 48% { transform: rotate(24deg) } 50% { transform: rotate(24deg) } 58% { transform: rotate(-24deg) } 60% { transform: rotate(-24deg) } 68% { transform: rotate(24deg) } 75% { transform: rotate(0deg) } } @keyframes ani-ring { 0% { transform: rotate(-15deg); } 2% { transform: rotate(15deg); } 4% { transform: rotate(-18deg); } 6% { transform: rotate(18deg); } 8% { transform: rotate(-22deg); } 10% { transform: rotate(22deg); } 12% { transform: rotate(-18deg); } 14% { transform: rotate(18deg); } 16% { transform: rotate(-12deg); } 18% { transform: rotate(12deg); } 20% { transform: rotate(0deg); } } @keyframes ani-vertical { 0% { transform: translate(0,-3px); } 4% { transform: translate(0,3px); } 8% { transform: translate(0,-3px); } 12% { transform: translate(0,3px); } 16% { transform: translate(0,-3px); } 20% { transform: translate(0,3px); } 22% { transform: translate(0,0); } } @keyframes ani-horizontal { 0% { transform: translate(0,0); } 6% { transform: translate(5px,0); } 12% { transform: translate(0,0); } 18% { transform: translate(5px,0); } 24% { transform: translate(0,0); } 30% { transform: translate(5px,0); } 36% { transform: translate(0,0); } } @keyframes ani-flash { 0%, 100%, 50% { opacity: 1; } 25%, 75% { opacity: 0; } } @keyframes ani-bounce { 0%, 10%, 20%, 50%, 80% { transform: translateY(0); } 40% { transform: translateY(-15px); } 60% { transform: translateY(-15px); } } @keyframes ani-float { 0% { transform: translateY(0); } 50% { transform: translateY(-6px); } 100% { transform: translateY(0); } } @keyframes ani-heartbeat { 0% { transform: scale(1.1); } 50% { transform: scale(0.8); } 100% { transform: scale(1.1); } } @keyframes ani-shuttle { 0% { transform: scale(1); } 10%, 20% { transform: scale(.9) rotate(-8deg); } 30%, 50%, 70% { transform: scale(1.3) rotate(8deg); } 40%, 60% { transform: scale(1.3) rotate(-8deg); } 80% { transform: scale(1) rotate(0); } } @keyframes ani-pass { 0% { transform: translateX(-50%); opacity: 0; } 50% { transform: translateX(0%); opacity: 1; } 100% { transform: translateX(50%); opacity: 0; } } @keyframes ani-ripple { 0% { opacity: .6; } 50% { transform: scale(1.8); opacity: 0; } 100% { opacity: 0; } } @keyframes ani-shrink { 0% { transform: scale(1); } 90% { transform: scale(1); } 100% { transform: scale(0.5); } } @keyframes ani-drop { 0% { transform: translateY(-50px); } 25% { transform: translate(0); } 100% { transform: translate(0); } } @keyframes ani-drop2 { 0% { transform: translateY(-50px); } 50% { transform: translate(0); } 100% { transform: translate(0); } } @keyframes ani-drop3 { 0% { transform: translateY(-50px); } 75% { transform: translate(0); } 100% { transform: translate(0); } } @keyframes ani-pre-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } @keyframes ani-bg-stripes { from { background-position: 40px 0; } to { background-position: 0 0; } } @keyframes slideUp { } @keyframes slideDown { }