animate.css 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521
  1. /*
  2. * jQuery Mobile Framework
  3. * Copyright (c) jQuery Project
  4. * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
  5. */
  6. .in {
  7. -webkit-animation-timing-function: linear;
  8. -webkit-animation-duration: 450ms;
  9. animation-timing-function: linear;
  10. animation-duration: 450ms;
  11. }
  12. .out {
  13. -webkit-animation-timing-function: linear;
  14. -webkit-animation-duration: 355ms;
  15. animation-timing-function: linear;
  16. animation-duration: 355ms;
  17. }
  18. @-webkit-keyframes fadein {
  19. from {-webkit-transform: translateY(-100%); }
  20. to {-webkit-transform: translateY(0); }
  21. }
  22. @keyframes fadein {
  23. from { transform: translateY(-100%); }
  24. to { transform: translateY(0); }
  25. }
  26. @-webkit-keyframes fadeout {
  27. from { opacity: 1;-webkit-transform: translateY(0) scale(1); }
  28. to { opacity: .5;-webkit-transform: translateY(-100%) scale(.6);}
  29. }
  30. @keyframes fadeout {
  31. from { opacity: 1;transform: translateY(0) scale(1);}
  32. to { opacity: .5;transform: translateY(-100%) scale(.6);}
  33. }
  34. .fade.out {
  35. opacity: 0;
  36. -webkit-animation-duration: 125ms;
  37. -webkit-animation-name: fadeout;
  38. animation-duration: 125ms;
  39. animation-name: fadeout;
  40. }
  41. .fade.in {
  42. opacity: 1;
  43. -webkit-animation-duration: 225ms;
  44. -webkit-animation-name: fadein;
  45. animation-duration: 225ms;
  46. animation-name: fadein;
  47. }
  48. .pop {
  49. -webkit-transform-origin: 50% 50%;
  50. transform-origin: 50% 50%;
  51. }
  52. .pop.in {
  53. -webkit-transform: scale(1);
  54. -webkit-animation-name: popin;
  55. -webkit-animation-duration: 350ms;
  56. transform: scale(1);
  57. animation-name: popin;
  58. animation-duration: 350ms;
  59. opacity: 1;
  60. }
  61. .pop.out {
  62. -webkit-animation-name: fadeout;
  63. -webkit-animation-duration: 100ms;
  64. animation-name: fadeout;
  65. animation-duration: 100ms;
  66. opacity: 0;
  67. }
  68. .pop.in.reverse {
  69. -webkit-animation-name: fadein;
  70. animation-name: fadein;
  71. }
  72. .pop.out.reverse {
  73. -webkit-transform: scale(.8);
  74. -webkit-animation-name: popout;
  75. transform: scale(.8);
  76. animation-name: popout;
  77. }
  78. @-webkit-keyframes popin {
  79. from {
  80. -webkit-transform: scale(.8);
  81. opacity: 0;
  82. }
  83. to {
  84. -webkit-transform: scale(1);
  85. opacity: 1;
  86. }
  87. }
  88. @keyframes popin {
  89. from {
  90. transform: scale(.8);
  91. opacity: 0;
  92. }
  93. to {
  94. transform: scale(1);
  95. opacity: 1;
  96. }
  97. }
  98. @-webkit-keyframes popout {
  99. from {
  100. -webkit-transform: scale(1);
  101. opacity: 1;
  102. }
  103. to {
  104. -webkit-transform: scale(.8);
  105. opacity: 0;
  106. }
  107. }
  108. @keyframes popout {
  109. from {
  110. transform: scale(1);
  111. opacity: 1;
  112. }
  113. to {
  114. transform: scale(.8);
  115. opacity: 0;
  116. }
  117. }
  118. /* keyframes for slidein from sides */
  119. @-webkit-keyframes slideinfromright {
  120. from { -webkit-transform: translate3d(100%,0,0); }
  121. to { -webkit-transform: translate3d(0,0,0); }
  122. }
  123. @keyframes slideinfromright {
  124. from { transform: translateX(100%); }
  125. to { transform: translateX(0); }
  126. }
  127. @-webkit-keyframes slideinfromleft {
  128. from { -webkit-transform: translate3d(-100%,0,0); }
  129. to { -webkit-transform: translate3d(0,0,0); }
  130. }
  131. @keyframes slideinfromleft {
  132. from { transform: translateX(-100%); }
  133. to { transform: translateX(0); }
  134. }
  135. /* keyframes for slideout to sides */
  136. @-webkit-keyframes slideouttoleft {
  137. from { -webkit-transform: translate3d(0,0,0); }
  138. to { -webkit-transform: translate3d(-100%,0,0); }
  139. }
  140. @keyframes slideouttoleft {
  141. from { transform: translateX(0); }
  142. to { transform: translateX(-100%); }
  143. }
  144. @-webkit-keyframes slideouttoright {
  145. from { -webkit-transform: translate3d(0,0,0); }
  146. to { -webkit-transform: translate3d(100%,0,0); }
  147. }
  148. @keyframes slideouttoright {
  149. from { transform: translateX(0); }
  150. to { transform: translateX(100%); }
  151. }
  152. .slide.out, .slide.in {
  153. -webkit-animation-timing-function: linear;
  154. -webkit-animation-duration: 350ms;
  155. animation-timing-function: linear;
  156. animation-duration: 350ms;
  157. }
  158. .slide.out {
  159. -webkit-transform: translate3d(-100%,0,0);
  160. -webkit-animation-name: slideouttoleft;
  161. transform: translateX(-100%);
  162. animation-name: slideouttoleft;
  163. }
  164. .slide.in {
  165. -webkit-transform: translate3d(0,0,0);
  166. -webkit-animation-name: slideinfromright;
  167. transform: translateX(0);
  168. animation-name: slideinfromright;
  169. }
  170. .slide.out.reverse {
  171. -webkit-transform: translate3d(100%,0,0);
  172. -webkit-animation-name: slideouttoright;
  173. transform: translateX(100%);
  174. animation-name: slideouttoright;
  175. }
  176. .slide.in.reverse {
  177. -webkit-transform: translate3d(0,0,0);
  178. -webkit-animation-name: slideinfromleft;
  179. transform: translateX(0);
  180. animation-name: slideinfromleft;
  181. }
  182. .slidefade.out {
  183. -webkit-transform: translateX(-100%);
  184. -webkit-animation-name: slideouttoleft;
  185. -webkit-animation-duration: 225ms;
  186. transform: translateX(-100%);
  187. animation-name: slideouttoleft;
  188. animation-duration: 225ms;
  189. }
  190. .slidefade.in {
  191. -webkit-transform: translateX(0);
  192. -webkit-animation-name: fadein;
  193. -webkit-animation-duration: 200ms;
  194. transform: translateX(0);
  195. animation-name: fadein;
  196. animation-duration: 200ms;
  197. }
  198. .slidefade.out.reverse {
  199. -webkit-transform: translateX(100%);
  200. -webkit-animation-name: slideouttoright;
  201. -webkit-animation-duration: 200ms;
  202. transform: translateX(100%);
  203. animation-name: slideouttoright;
  204. animation-duration: 200ms;
  205. }
  206. .slidefade.in.reverse {
  207. -webkit-transform: translateX(0);
  208. -webkit-animation-name: fadein;
  209. -webkit-animation-duration: 200ms;
  210. transform: translateX(0);
  211. animation-name: fadein;
  212. animation-duration: 200ms;
  213. }
  214. /* slide down */
  215. .slidedown.out {
  216. -webkit-animation-name: fadeout;
  217. -webkit-animation-duration: 100ms;
  218. animation-name: fadeout;
  219. animation-duration: 100ms;
  220. }
  221. .slidedown.in {
  222. -webkit-transform: translateY(0);
  223. -webkit-animation-name: slideinfromtop;
  224. -webkit-animation-duration: 250ms;
  225. transform: translateY(0);
  226. animation-name: slideinfromtop;
  227. animation-duration: 250ms;
  228. }
  229. .slidedown.in.reverse {
  230. -webkit-animation-name: fadein;
  231. -webkit-animation-duration: 150ms;
  232. animation-name: fadein;
  233. animation-duration: 150ms;
  234. }
  235. .slidedown.out.reverse {
  236. -webkit-transform: translateY(-100%);
  237. -webkit-animation-name: slideouttotop;
  238. -webkit-animation-duration: 200ms;
  239. transform: translateY(-100%);
  240. animation-name: slideouttotop;
  241. animation-duration: 200ms;
  242. }
  243. @-webkit-keyframes slideinfromtop {
  244. from { -webkit-transform: translateY(-100%); }
  245. to { -webkit-transform: translateY(0); }
  246. }
  247. @keyframes slideinfromtop {
  248. from { transform: translateY(-100%); }
  249. to { transform: translateY(0); }
  250. }
  251. @-webkit-keyframes slideouttotop {
  252. from { -webkit-transform: translateY(0); }
  253. to { -webkit-transform: translateY(-100%); }
  254. }
  255. @keyframes slideouttotop {
  256. from { transform: translateY(0); }
  257. to { transform: translateY(-100%); }
  258. }
  259. /* slide up */
  260. .slideup.out {
  261. -webkit-animation-name: fadeout;
  262. -webkit-animation-duration: 670ms;
  263. animation-name: fadeout;
  264. animation-duration: 670ms;
  265. }
  266. .slideup.in {
  267. -webkit-transform: translateY(0);
  268. -webkit-animation-name: slideinfrombottom;
  269. -webkit-animation-duration: 790ms;
  270. transform: translateY(0);
  271. animation-name: slideinfrombottom;
  272. animation-duration: 790ms;
  273. }
  274. .slideup.in.reverse {
  275. -webkit-animation-name: fadein;
  276. -webkit-animation-duration: 790ms;
  277. animation-name: fadein;
  278. animation-duration: 790ms;
  279. }
  280. .slideup.out.reverse {
  281. -webkit-transform: translateY(100%);
  282. -webkit-animation-name: slideouttobottom;
  283. -webkit-animation-duration: 670ms;
  284. transform: translateY(100%);
  285. animation-name: slideouttobottom;
  286. animation-duration: 670ms;
  287. }
  288. @-webkit-keyframes slideinfrombottom {
  289. from { -webkit-transform: translateY(100%); }
  290. to { -webkit-transform: translateY(0); }
  291. }
  292. @keyframes slideinfrombottom {
  293. from { transform: translateY(100%); }
  294. to { transform: translateY(0); }
  295. }
  296. @-webkit-keyframes slideouttobottom {
  297. from { -webkit-transform: translateY(0) scale(1); }
  298. to { -webkit-transform: translateY(100%) scale(.6); }
  299. }
  300. @keyframes slideouttobottom {
  301. from { transform: translateY(0) scale(1); }
  302. to { transform: translateY(100%) scale(.6); }
  303. }
  304. /* The properties in this rule are only necessary for the 'flip' transition.
  305. * We need specify the perspective to create a projection matrix. This will add
  306. * some depth as the element flips. The depth number represents the distance of
  307. * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate
  308. * value.
  309. */
  310. .viewport-flip {
  311. -webkit-perspective: 1000;
  312. perspective: 1000;
  313. position: absolute;
  314. }
  315. .flip {
  316. -webkit-backface-visibility: hidden;
  317. -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */
  318. backface-visibility: hidden;
  319. transform: translateX(0);
  320. }
  321. .flip.out {
  322. -webkit-transform: rotateY(-90deg) scale(.9);
  323. -webkit-animation-name: flipouttoleft;
  324. -webkit-animation-duration: 275ms;
  325. transform: rotateY(-90deg) scale(.9);
  326. animation-name: flipouttoleft;
  327. animation-duration: 275ms;
  328. }
  329. .flip.in {
  330. -webkit-animation-name: flipintoright;
  331. -webkit-animation-duration: 325ms;
  332. animation-name: flipintoright;
  333. animation-duration: 325ms;
  334. }
  335. .flip.out.reverse {
  336. -webkit-transform: rotateY(90deg) scale(.9);
  337. -webkit-animation-name: flipouttoright;
  338. transform: rotateY(90deg) scale(.9);
  339. animation-name: flipouttoright;
  340. }
  341. .flip.in.reverse {
  342. -webkit-animation-name: flipintoleft;
  343. animation-name: flipintoleft;
  344. }
  345. @-webkit-keyframes flipouttoleft {
  346. from { -webkit-transform: rotateY(0); }
  347. to { -webkit-transform: rotateY(-90deg) scale(.9); }
  348. }
  349. @keyframes flipouttoleft {
  350. from { transform: rotateY(0); }
  351. to { transform: rotateY(-90deg) scale(.9); }
  352. }
  353. @-webkit-keyframes flipouttoright {
  354. from { -webkit-transform: rotateY(0) ; }
  355. to { -webkit-transform: rotateY(90deg) scale(.9); }
  356. }
  357. @keyframes flipouttoright {
  358. from { transform: rotateY(0); }
  359. to { transform: rotateY(90deg) scale(.9); }
  360. }
  361. @-webkit-keyframes flipintoleft {
  362. from { -webkit-transform: rotateY(-90deg) scale(.9); }
  363. to { -webkit-transform: rotateY(0); }
  364. }
  365. @keyframes flipintoleft {
  366. from { transform: rotateY(-90deg) scale(.9); }
  367. to { transform: rotateY(0); }
  368. }
  369. @-webkit-keyframes flipintoright {
  370. from { -webkit-transform: rotateY(90deg) scale(.9); }
  371. to { -webkit-transform: rotateY(0); }
  372. }
  373. @keyframes flipintoright {
  374. from { transform: rotateY(90deg) scale(.9); }
  375. to { transform: rotateY(0); }
  376. }
  377. /* The properties in this rule are only necessary for the 'flip' transition.
  378. * We need specify the perspective to create a projection matrix. This will add
  379. * some depth as the element flips. The depth number represents the distance of
  380. * the viewer from the z-plane. According to the CSS3 spec, 1000 is a moderate
  381. * value.
  382. */
  383. .viewport-turn {
  384. -webkit-perspective: 200px;
  385. perspective: 200px;
  386. position: absolute;
  387. }
  388. .turn {
  389. -webkit-backface-visibility: hidden;
  390. -webkit-transform: translateX(0); /* Needed to work around an iOS 3.1 bug that causes listview thumbs to disappear when -webkit-visibility:hidden is used. */
  391. -webkit-transform-origin: 0;
  392. backface-visibility :hidden;
  393. transform: translateX(0);
  394. transform-origin: 0;
  395. }
  396. .turn.out {
  397. -webkit-transform: rotateY(-90deg) scale(.9);
  398. -webkit-animation-name: flipouttoleft;
  399. -webkit-animation-duration: 250ms;
  400. transform: rotateY(-90deg) scale(.9);
  401. animation-name: flipouttoleft;
  402. animation-duration: 250ms;
  403. }
  404. .turn.in {
  405. -webkit-animation-name: flipintoright;
  406. -webkit-animation-duration: 350ms;
  407. animation-name: flipintoright;
  408. animation-duration: 350ms;
  409. }
  410. .turn.out.reverse {
  411. -webkit-transform: rotateY(90deg) scale(.9);
  412. -webkit-animation-name: flipouttoright;
  413. transform: rotateY(90deg) scale(.9);
  414. animation-name: flipouttoright;
  415. }
  416. .turn.in.reverse {
  417. -webkit-animation-name: flipintoleft;
  418. animation-name: flipintoleft;
  419. }
  420. @-webkit-keyframes flipouttoleft {
  421. from { -webkit-transform: rotateY(0); }
  422. to { -webkit-transform: rotateY(-90deg) scale(.9); }
  423. }
  424. @keyframes flipouttoleft {
  425. from { transform: rotateY(0); }
  426. to { transform: rotateY(-90deg) scale(.9); }
  427. }
  428. @-webkit-keyframes flipouttoright {
  429. from { -webkit-transform: rotateY(0) ; }
  430. to { -webkit-transform: rotateY(90deg) scale(.9); }
  431. }
  432. @keyframes flipouttoright {
  433. from { transform: rotateY(0); }
  434. to { transform: rotateY(90deg) scale(.9); }
  435. }
  436. @-webkit-keyframes flipintoleft {
  437. from { -webkit-transform: rotateY(-90deg) scale(.9); }
  438. to { -webkit-transform: rotateY(0); }
  439. }
  440. @keyframes flipintoleft {
  441. from { transform: rotateY(-90deg) scale(.9); }
  442. to { transform: rotateY(0); }
  443. }
  444. @-webkit-keyframes flipintoright {
  445. from { -webkit-transform: rotateY(90deg) scale(.9); }
  446. to { -webkit-transform: rotateY(0); }
  447. }
  448. @keyframes flipintoright {
  449. from { transform: rotateY(90deg) scale(.9); }
  450. to { transform: rotateY(0); }
  451. }
  452. /* flow transition */
  453. .flow {
  454. -webkit-transform-origin: 50% 30%;
  455. transform-origin: 50% 30%;
  456. }
  457. .flow.out {
  458. -webkit-transform: translateX(-100%) scale(.6);
  459. -webkit-animation-name: flowouttoleft;
  460. -webkit-animation-timing-function: linear;
  461. -webkit-animation-duration: 670ms;
  462. transform: translateX(-100%) scale(.6);
  463. animation-name: flowouttoleft;
  464. animation-timing-function: linear;
  465. animation-duration: 670ms;
  466. }
  467. .flow.in {
  468. -webkit-transform: translateX(0) scale(1);
  469. -webkit-animation-name: flowinfromright;
  470. -webkit-animation-timing-function: linear;
  471. -webkit-animation-duration: 670ms;
  472. transform: translateX(0) scale(1);
  473. animation-name: flowinfromright;
  474. animation-timing-function: linear;
  475. animation-duration: 670ms;
  476. }
  477. .flow.out.reverse {
  478. -webkit-transform: translateX(100%);
  479. -webkit-animation-name: flowouttoright;
  480. transform: translateX(100%);
  481. animation-name: flowouttoright;
  482. }
  483. .flow.in.reverse {
  484. -webkit-animation-name: flowinfromleft;
  485. animation-name: flowinfromleft;
  486. }
  487. @-webkit-keyframes flowouttoleft {
  488. 0% { -webkit-transform: translateX(0) scale(1); }
  489. 100% { -webkit-transform: translateX(-100%) scale(.6); }
  490. }
  491. @keyframes flowouttoleft {
  492. 0% { transform: translateX(0) scale(1); }
  493. 100% { transform: translateX(-100%) scale(.6); }
  494. }
  495. @-webkit-keyframes flowouttoright {
  496. 0% { -webkit-transform: translateX(0) scale(1); }
  497. 100% { -webkit-transform: translateX(100%) scale(.6); }
  498. }
  499. @keyframes flowouttoright {
  500. 0% { transform: translateX(0) scale(1); }
  501. 100% { transform: translateX(100%) scale(.6); }
  502. }
  503. @-webkit-keyframes flowinfromleft {
  504. 0% { -webkit-transform: translateX(-100%) scale(.6); }
  505. 100% { -webkit-transform: translateX(0) scale(1); }
  506. }
  507. @keyframes flowinfromleft {
  508. 0% { transform: translateX(-100%) scale(.6); }
  509. 100% { transform: translateX(0) scale(1); }
  510. }
  511. @-webkit-keyframes flowinfromright {
  512. 0% { -webkit-transform: translateX(100%) scale(.6); }
  513. 100% { -webkit-transform: translateX(0) scale(1); }
  514. }
  515. @keyframes flowinfromright {
  516. 0% { transform: translateX(100%) scale(.6); }
  517. 100% { transform: translateX(0) scale(1); }
  518. }