/* * jQuery Mobile Framework * Copyright (c) jQuery Project * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses. */ /*spin keyframes from jordandobson.com/webkit_loading_animation/resize/ - note: can this be simplified? */ .spin { -webkit-animation-name: spin; -webkit-animation-duration: 1s; -webkit-animation-iteration-count: infinite; } @-webkit-keyframes spin { 0%{ -webkit-transform: rotate(0deg); } 8.32%{ -webkit-transform: rotate(0deg); } 8.33%{ -webkit-transform: rotate(30deg); } 16.65%{ -webkit-transform: rotate(30deg); } 16.66%{ -webkit-transform: rotate(60deg); } 24.99%{ -webkit-transform: rotate(60deg); } 25%{ -webkit-transform: rotate(90deg); } 33.32%{ -webkit-transform: rotate(90deg); } 33.33%{ -webkit-transform: rotate(120deg); } 41.65%{ -webkit-transform: rotate(120deg); } 41.66%{ -webkit-transform: rotate(150deg); } 49.99%{ -webkit-transform: rotate(150deg); } 50%{ -webkit-transform: rotate(180deg); } 58.32%{ -webkit-transform: rotate(180deg); } 58.33%{ -webkit-transform: rotate(210deg); } 66.65%{ -webkit-transform: rotate(210deg); } 66.66%{ -webkit-transform: rotate(240deg); } 74.99%{ -webkit-transform: rotate(240deg); } 75%{ -webkit-transform: rotate(270deg); } 83.32%{ -webkit-transform: rotate(270deg); } 83.33%{ -webkit-transform: rotate(300deg); } 91.65%{ -webkit-transform: rotate(300deg); } 91.66%{ -webkit-transform: rotate(330deg); } 100%{ -webkit-transform: rotate(330deg); } } /* -- transitions from jQtouch - to be modified, renamed, removed, where needed */ .in, .out { -webkit-animation-timing-function: ease-in-out; -webkit-animation-duration: 350ms; } .slide.in { -webkit-animation-name: slideinfromright; } .slide.out { -webkit-animation-name: slideouttoleft; } .slide.in.reverse { -webkit-animation-name: slideinfromleft; } .slide.out.reverse { -webkit-animation-name: slideouttoright; } .slideup.in { -webkit-animation-name: slideinfrombottom; z-index: 10; } .slideup.out { -webkit-animation-name: dontmove; z-index: 0; } .slideup.out.reverse { z-index: 10; -webkit-animation-name: slideouttobottom; } .slideup.in.reverse { z-index: 0; -webkit-animation-name: dontmove; } .slidedown.in { -webkit-animation-name: slideinfromtop; z-index: 10; } .slidedown.out { -webkit-animation-name: dontmove; z-index: 0; } .slidedown.out.reverse { z-index: 10; -webkit-animation-name: slideouttotop; } .slidedown.in.reverse { z-index: 0; -webkit-animation-name: dontmove; } @-webkit-keyframes slideinfromright { from { -webkit-transform: translateX(100%); } to { -webkit-transform: translateX(0); } } @-webkit-keyframes slideinfromleft { from { -webkit-transform: translateX(-100%); } to { -webkit-transform: translateX(0); } } @-webkit-keyframes slideouttoleft { from { -webkit-transform: translateX(0); } to { -webkit-transform: translateX(-100%); } } @-webkit-keyframes slideouttoright { from { -webkit-transform: translateX(0); } to { -webkit-transform: translateX(100%); } } @-webkit-keyframes slideinfromtop { from { -webkit-transform: translateY(-100%); } to { -webkit-transform: translateY(0); } } @-webkit-keyframes slideinfrombottom { from { -webkit-transform: translateY(100%); } to { -webkit-transform: translateY(0); } } @-webkit-keyframes slideouttobottom { from { -webkit-transform: translateY(0); } to { -webkit-transform: translateY(100%); } } @-webkit-keyframes slideouttotop { from { -webkit-transform: translateY(0); } to { -webkit-transform: translateY(-100%); } } @-webkit-keyframes fadein { from { opacity: 0; } to { opacity: 1; } } @-webkit-keyframes fadeout { from { opacity: 1; } to { opacity: 0; } } .fade.in { z-index: 10; -webkit-animation-name: fadein; } .fade.out { z-index: 0; } .dissolve.in { -webkit-animation-name: fadein; } .dissolve.out { -webkit-animation-name: fadeout; } .flip { -webkit-animation-duration: .65s; } .flip.in { -webkit-animation-name: flipinfromleft; } .flip.out { -webkit-animation-name: flipouttoleft; } /* Shake it all about */ .flip.in.reverse { -webkit-animation-name: flipinfromright; } .flip.out.reverse { -webkit-animation-name: flipouttoright; } @-webkit-keyframes flipinfromright { from { -webkit-transform: rotateY(-180deg) scale(.8); } to { -webkit-transform: rotateY(0) scale(1); } } @-webkit-keyframes flipinfromleft { from { -webkit-transform: rotateY(180deg) scale(.8); } to { -webkit-transform: rotateY(0) scale(1); } } @-webkit-keyframes flipouttoleft { from { -webkit-transform: rotateY(0) scale(1); } to { -webkit-transform: rotateY(-180deg) scale(.8); } } @-webkit-keyframes flipouttoright { from { -webkit-transform: rotateY(0) scale(1); } to { -webkit-transform: rotateY(180deg) scale(.8); } } /* dontmove is used for elements that stay still but still need a complete callback */ @-webkit-keyframes dontmove { from { opacity: 1; } to { opacity: 1; } } .swap { -webkit-transform: perspective(800); -webkit-animation-duration: .7s; } .swap.out { -webkit-animation-name: swapouttoleft; } .swap.in { -webkit-animation-name: swapinfromright; } .swap.out.reverse { -webkit-animation-name: swapouttoright; } .swap.in.reverse { -webkit-animation-name: swapinfromleft; } @-webkit-keyframes swapouttoright { 0% { -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); -webkit-animation-timing-function: ease-in-out; } 50% { -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); -webkit-animation-timing-function: ease-in; } 100% { -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); } } @-webkit-keyframes swapouttoleft { 0% { -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); -webkit-animation-timing-function: ease-in-out; } 50% { -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); -webkit-animation-timing-function: ease-in; } 100% { -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); } } @-webkit-keyframes swapinfromright { 0% { -webkit-transform: translate3d(0px, 0px, -800px) rotateY(70deg); -webkit-animation-timing-function: ease-out; } 50% { -webkit-transform: translate3d(-180px, 0px, -400px) rotateY(20deg); -webkit-animation-timing-function: ease-in-out; } 100% { -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); } } @-webkit-keyframes swapinfromleft { 0% { -webkit-transform: translate3d(0px, 0px, -800px) rotateY(-70deg); -webkit-animation-timing-function: ease-out; } 50% { -webkit-transform: translate3d(180px, 0px, -400px) rotateY(-20deg); -webkit-animation-timing-function: ease-in-out; } 100% { -webkit-transform: translate3d(0px, 0px, 0px) rotateY(0deg); } } .pop { -webkit-transform-origin: 50% 50%; } .pop.in { -webkit-animation-name: popin; z-index: 10; } .pop.out.reverse { -webkit-animation-name: popout; z-index: 10; } .pop.in.reverse { z-index: 0; -webkit-animation-name: dontmove; } @-webkit-keyframes popin { from { -webkit-transform: scale(.2); opacity: 0; } to { -webkit-transform: scale(1); opacity: 1; } } @-webkit-keyframes popout { from { -webkit-transform: scale(1); opacity: 1; } to { -webkit-transform: scale(.2); opacity: 0; } }