1 /*! 2 动画属性: 3 animation-name:动画名称 4 animation-duration:动画时间 5 animation-timing-function:动画的速度曲线 6 animation-delay:动画延迟 7 animation-iteration-count:动画播放次数 8 animation-direction:是否轮流反响播放动画 9 animation: name duration timing-function delay iteration-count direction; 10 其中:名称和时长是必须的; 11 */ 12 13 @keyframes bounce { 14 from, 15 20%, 16 53%, 17 80%, 18 to { 19 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 20 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 21 -webkit-transform: translate3d(0, 0, 0);/* 跳回到原点*/ 22 transform: translate3d(0, 0, 0); 23 } 24 25 40%, 26 43% { 27 -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 28 animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 29 30 -webkit-transform: translate3d(0, -30px, 0);/* 向上跳30*/ 31 transform: translate3d(0, -30px, 0); 32 } 33 34 70% { 35 -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 36 animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); 37 38 -webkit-transform: translate3d(0, -15px, 0);/* 向上跳15*/ 39 transform: translate3d(0, -15px, 0); 40 } 41 42 90% { 43 -webkit-transform: translate3d(0, -4px, 0);/* 向上跳4*/ 44 transform: translate3d(0, -4px, 0); 45 } 46 } 47 48 .bounce { 49 -webkit-animation-name: bounce; 50 animation-name: bounce; 51 -webkit-transform-origin: center bottom; 52 transform-origin: center bottom; 53 /*animation:bounce 2s ;*/ 54 } 55 56 57 58 @keyframes flash { 59 0%, 60 50%, 61 100% { 62 opacity: 1; 63 } 64 25%, 65 75% { 66 opacity: 0; 67 } 68 } 69 70 .flash { 71 -webkit-animation-name: flash; 72 animation-name: flash; 73 } 74 75 @keyframes pulse { /*变大变小*/ 76 from { 77 transform: scale3d(1, 1, 1); 78 } 79 80 50% { 81 transform: scale3d(1.05, 1.05, 1.05); 82 } 83 to { 84 transform: scale3d(1, 1, 1); 85 } 86 } 87 .pulse { 88 -webkit-animation-name: pulse; 89 animation-name: pulse; 90 } 91 92 93 @keyframes rubberBand {/*橡皮经:y变窄,x变窄循环,然后恢复正常*/ 94 from { 95 transform: scale3d(1, 1, 1); 96 } 97 98 30% { 99 transform: scale3d(1.25, 0.75, 1); 100 } 101 102 40% { 103 transform: scale3d(0.75, 1.25, 1); 104 } 105 106 50% { 107 transform: scale3d(1.15, 0.85, 1); 108 } 109 110 65% { 111 transform: scale3d(0.95, 1.05, 1); 112 } 113 114 75% { 115 transform: scale3d(1.05, 0.95, 1); 116 } 117 118 to { 119 transform: scale3d(1, 1, 1); 120 } 121 } 122 .rubberBand { 123 animation-name: rubberBand; 124 } 125 126 @keyframes shake { 127 from, 128 to { 129 transform: translate3d(0, 0, 0); 130 } 131 10%, 132 30%, 133 50%, 134 70%, 135 90% { 136 transform: translate3d(-10px, 0, 0); 137 } 138 139 20%, 140 40%, 141 60%, 142 80% { 143 -webkit-transform: translate3d(10px, 0, 0); 144 transform: translate3d(10px, 0, 0); 145 } 146 } 147 148 .shake { 149 -webkit-animation-name: shake; 150 animation-name: shake; 151 } 152 153 154 @keyframes headShake { 155 0% { 156 transform: translateX(0); 157 } 158 6.5% { 159 transform: translateX(-6px) rotateY(-9deg); 160 } 161 162 18.5% { 163 -webkit-transform: translateX(5px) rotateY(7deg); 164 transform: translateX(5px) rotateY(7deg); 165 } 166 167 31.5% { 168 -webkit-transform: translateX(-3px) rotateY(-5deg); 169 transform: translateX(-3px) rotateY(-5deg); 170 } 171 172 43.5% { 173 -webkit-transform: translateX(2px) rotateY(3deg); 174 transform: translateX(2px) rotateY(3deg); 175 } 176 177 50% { 178 -webkit-transform: translateX(0); 179 transform: translateX(0); 180 } 181 } 182 183 .headShake { 184 -webkit-animation-timing-function: ease-in-out; 185 animation-timing-function: ease-in-out; 186 -webkit-animation-name: headShake; 187 animation-name: headShake; 188 } 189 190 191 @keyframes swing {/*围绕一个点左右荡秋千摆动:rotate3d(x,y,z,angle)围绕z轴进行旋转*/ 192 20% { 193 transform: rotate3d(0, 0, 1, 15deg); 194 } 195 196 40% { 197 transform: rotate3d(0, 0, 1, -10deg); 198 } 199 200 60% { 201 transform: rotate3d(0, 0, 1, 5deg); 202 } 203 204 80% { 205 transform: rotate3d(0, 0, 1, -5deg); 206 } 207 208 to { 209 transform: rotate3d(0, 0, 1, 0deg); 210 } 211 } 212 213 .swing { 214 -webkit-transform-origin: top center; 215 transform-origin: top center; 216 -webkit-animation-name: swing; 217 animation-name: swing; 218 } 219 220 221 @keyframes tada {/*缩小,左旋转---放大,右旋转--恢复正常*/ 222 from { 223 transform: scale3d(1, 1, 1); 224 } 225 10%, 226 20% { 227 transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); 228 } 229 30%, 230 50%, 231 70%, 232 90% { 233 transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); 234 } 235 40%, 236 60%, 237 80% { 238 transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); 239 } 240 to { 241 transform: scale3d(1, 1, 1); 242 } 243 } 244 .tada { 245 animation-name: tada; 246 } 247 248 249 250 @keyframes wobble {/*晃动:向左移动,绕z轴向左旋转 ----向右移动,绕z轴向右旋转*/ 251 from { 252 transform: translate3d(0, 0, 0); 253 } 254 255 15% { 256 transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); 257 } 258 259 30% { 260 transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); 261 } 262 263 45% { 264 transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); 265 } 266 267 60% { 268 transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); 269 } 270 271 75% { 272 transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); 273 } 274 275 to { 276 transform: translate3d(0, 0, 0); 277 } 278 } 279 280 .wobble { 281 -webkit-animation-name: wobble; 282 animation-name: wobble; 283 } 284 285 286 @keyframes jello {/*凝胶物:倾斜,左右交替*/ 287 from, 288 11.1%, 289 to { 290 -webkit-transform: translate3d(0, 0, 0); 291 transform: translate3d(0, 0, 0); 292 } 293 294 22.2% { 295 -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); 296 transform: skewX(-12.5deg) skewY(-12.5deg); 297 } 298 299 33.3% { 300 -webkit-transform: skewX(6.25deg) skewY(6.25deg); 301 transform: skewX(6.25deg) skewY(6.25deg); 302 } 303 304 44.4% { 305 -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); 306 transform: skewX(-3.125deg) skewY(-3.125deg); 307 } 308 309 55.5% { 310 -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); 311 transform: skewX(1.5625deg) skewY(1.5625deg); 312 } 313 314 66.6% { 315 -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); 316 transform: skewX(-0.78125deg) skewY(-0.78125deg); 317 } 318 319 77.7% { 320 -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); 321 transform: skewX(0.390625deg) skewY(0.390625deg); 322 } 323 324 88.8% { 325 -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 326 transform: skewX(-0.1953125deg) skewY(-0.1953125deg); 327 } 328 } 329 330 .jello { 331 -webkit-animation-name: jello; 332 animation-name: jello; 333 -webkit-transform-origin: center; 334 transform-origin: center; 335 } 336 337 338 @keyframes heartBeat {/*心跳:变大-变小交替*/ 339 0% { 340 -webkit-transform: scale(1); 341 transform: scale(1); 342 } 343 344 14% { 345 -webkit-transform: scale(1.3); 346 transform: scale(1.3); 347 } 348 349 28% { 350 -webkit-transform: scale(1); 351 transform: scale(1); 352 } 353 354 42% { 355 -webkit-transform: scale(1.3); 356 transform: scale(1.3); 357 } 358 359 70% { 360 -webkit-transform: scale(1); 361 transform: scale(1); 362 } 363 } 364 365 .heartBeat { 366 -webkit-animation-name: heartBeat; 367 animation-name: heartBeat; 368 -webkit-animation-duration: 1.3s; 369 animation-duration: 1.3s; 370 -webkit-animation-timing-function: ease-in-out; 371 animation-timing-function: ease-in-out; 372 } 373 374 375 @keyframes bounceIn { 376 from, 377 20%, 378 40%, 379 60%, 380 80%, 381 to { 382 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 383 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 384 } 385 386 0% { 387 opacity: 0; 388 -webkit-transform: scale3d(0.3, 0.3, 0.3); 389 transform: scale3d(0.3, 0.3, 0.3); 390 } 391 392 20% { 393 -webkit-transform: scale3d(1.1, 1.1, 1.1); 394 transform: scale3d(1.1, 1.1, 1.1); 395 } 396 397 40% { 398 -webkit-transform: scale3d(0.9, 0.9, 0.9); 399 transform: scale3d(0.9, 0.9, 0.9); 400 } 401 402 60% { 403 opacity: 1; 404 -webkit-transform: scale3d(1.03, 1.03, 1.03); 405 transform: scale3d(1.03, 1.03, 1.03); 406 } 407 408 80% { 409 -webkit-transform: scale3d(0.97, 0.97, 0.97); 410 transform: scale3d(0.97, 0.97, 0.97); 411 } 412 413 to { 414 opacity: 1; 415 -webkit-transform: scale3d(1, 1, 1); 416 transform: scale3d(1, 1, 1); 417 } 418 } 419 420 .bounceIn { 421 -webkit-animation-duration: 0.75s; 422 animation-duration: 0.75s; 423 -webkit-animation-name: bounceIn; 424 animation-name: bounceIn; 425 } 426 427 428 @keyframes bounceInDown {/*向下,向上循环*/ 429 from, 430 60%, 431 75%, 432 90%, 433 to { 434 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 435 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 436 } 437 438 0% { 439 opacity: 0; 440 -webkit-transform: translate3d(0, -3000px, 0); 441 transform: translate3d(0, -3000px, 0); 442 } 443 444 60% { 445 opacity: 1; 446 -webkit-transform: translate3d(0, 25px, 0); 447 transform: translate3d(0, 25px, 0); 448 } 449 450 75% { 451 -webkit-transform: translate3d(0, -10px, 0); 452 transform: translate3d(0, -10px, 0); 453 } 454 455 90% { 456 -webkit-transform: translate3d(0, 5px, 0); 457 transform: translate3d(0, 5px, 0); 458 } 459 460 to { 461 -webkit-transform: translate3d(0, 0, 0); 462 transform: translate3d(0, 0, 0); 463 } 464 } 465 466 .bounceInDown { 467 -webkit-animation-name: bounceInDown; 468 animation-name: bounceInDown; 469 } 470 471 472 @keyframes bounceInLeft { 473 from, 474 60%, 475 75%, 476 90%, 477 to { 478 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 479 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 480 } 481 482 0% { 483 opacity: 0; 484 -webkit-transform: translate3d(-3000px, 0, 0); 485 transform: translate3d(-3000px, 0, 0); 486 } 487 488 60% { 489 opacity: 1; 490 -webkit-transform: translate3d(25px, 0, 0); 491 transform: translate3d(25px, 0, 0); 492 } 493 494 75% { 495 -webkit-transform: translate3d(-10px, 0, 0); 496 transform: translate3d(-10px, 0, 0); 497 } 498 499 90% { 500 -webkit-transform: translate3d(5px, 0, 0); 501 transform: translate3d(5px, 0, 0); 502 } 503 504 to { 505 -webkit-transform: translate3d(0, 0, 0); 506 transform: translate3d(0, 0, 0); 507 } 508 } 509 510 .bounceInLeft { 511 -webkit-animation-name: bounceInLeft; 512 animation-name: bounceInLeft; 513 } 514 515 516 @keyframes bounceInRight { 517 from, 518 60%, 519 75%, 520 90%, 521 to { 522 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 523 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 524 } 525 526 from { 527 opacity: 0; 528 -webkit-transform: translate3d(3000px, 0, 0); 529 transform: translate3d(3000px, 0, 0); 530 } 531 532 60% { 533 opacity: 1; 534 -webkit-transform: translate3d(-25px, 0, 0); 535 transform: translate3d(-25px, 0, 0); 536 } 537 538 75% { 539 -webkit-transform: translate3d(10px, 0, 0); 540 transform: translate3d(10px, 0, 0); 541 } 542 543 90% { 544 -webkit-transform: translate3d(-5px, 0, 0); 545 transform: translate3d(-5px, 0, 0); 546 } 547 548 to { 549 -webkit-transform: translate3d(0, 0, 0); 550 transform: translate3d(0, 0, 0); 551 } 552 } 553 554 .bounceInRight { 555 -webkit-animation-name: bounceInRight; 556 animation-name: bounceInRight; 557 } 558 559 560 @keyframes bounceInUp { 561 from, 562 60%, 563 75%, 564 90%, 565 to { 566 -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 567 animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); 568 } 569 570 from { 571 opacity: 0; 572 -webkit-transform: translate3d(0, 3000px, 0); 573 transform: translate3d(0, 3000px, 0); 574 } 575 576 60% { 577 opacity: 1; 578 -webkit-transform: translate3d(0, -20px, 0); 579 transform: translate3d(0, -20px, 0); 580 } 581 582 75% { 583 -webkit-transform: translate3d(0, 10px, 0); 584 transform: translate3d(0, 10px, 0); 585 } 586 587 90% { 588 -webkit-transform: translate3d(0, -5px, 0); 589 transform: translate3d(0, -5px, 0); 590 } 591 592 to { 593 -webkit-transform: translate3d(0, 0, 0); 594 transform: translate3d(0, 0, 0); 595 } 596 } 597 598 .bounceInUp { 599 -webkit-animation-name: bounceInUp; 600 animation-name: bounceInUp; 601 } 602 603 604 @keyframes bounceOut {/*小--大--小:最后透明度为0*/ 605 20% { 606 -webkit-transform: scale3d(0.9, 0.9, 0.9); 607 transform: scale3d(0.9, 0.9, 0.9); 608 } 609 610 50%, 611 55% { 612 opacity: 1; 613 -webkit-transform: scale3d(1.1, 1.1, 1.1); 614 transform: scale3d(1.1, 1.1, 1.1); 615 } 616 617 to { 618 opacity: 0; 619 -webkit-transform: scale3d(0.3, 0.3, 0.3); 620 transform: scale3d(0.3, 0.3, 0.3); 621 } 622 } 623 624 .bounceOut { 625 -webkit-animation-duration: 0.75s; 626 animation-duration: 0.75s; 627 -webkit-animation-name: bounceOut; 628 animation-name: bounceOut; 629 } 630 631 632 @keyframes bounceOutDown {/*向下,向上,再直接下去:透明度为0*/ 633 20% { 634 -webkit-transform: translate3d(0, 10px, 0); 635 transform: translate3d(0, 10px, 0); 636 } 637 638 40%, 639 45% { 640 opacity: 1; 641 -webkit-transform: translate3d(0, -20px, 0); 642 transform: translate3d(0, -20px, 0); 643 } 644 645 to { 646 opacity: 0; 647 -webkit-transform: translate3d(0, 2000px, 0); 648 transform: translate3d(0, 2000px, 0); 649 } 650 } 651 652 .bounceOutDown { 653 -webkit-animation-name: bounceOutDown; 654 animation-name: bounceOutDown; 655 } 656 657 658 @keyframes bounceOutLeft {/*x轴向右一点,再直接向左,透明度变为0*/ 659 20% { 660 opacity: 1; 661 -webkit-transform: translate3d(20px, 0, 0); 662 transform: translate3d(20px, 0, 0); 663 } 664 665 to { 666 opacity: 0; 667 -webkit-transform: translate3d(-2000px, 0, 0); 668 transform: translate3d(-2000px, 0, 0); 669 } 670 } 671 672 .bounceOutLeft { 673 -webkit-animation-name: bounceOutLeft; 674 animation-name: bounceOutLeft; 675 } 676 677 678 @keyframes bounceOutRight { 679 20% { 680 opacity: 1; 681 -webkit-transform: translate3d(-20px, 0, 0); 682 transform: translate3d(-20px, 0, 0); 683 } 684 685 to { 686 opacity: 0; 687 -webkit-transform: translate3d(2000px, 0, 0); 688 transform: translate3d(2000px, 0, 0); 689 } 690 } 691 692 .bounceOutRight { 693 -webkit-animation-name: bounceOutRight; 694 animation-name: bounceOutRight; 695 } 696 697 698 @keyframes bounceOutUp { 699 20% { 700 -webkit-transform: translate3d(0, -10px, 0); 701 transform: translate3d(0, -10px, 0); 702 } 703 704 40%, 705 45% { 706 opacity: 1; 707 -webkit-transform: translate3d(0, 20px, 0); 708 transform: translate3d(0, 20px, 0); 709 } 710 711 to { 712 opacity: 0; 713 -webkit-transform: translate3d(0, -2000px, 0); 714 transform: translate3d(0, -2000px, 0); 715 } 716 } 717 718 .bounceOutUp { 719 -webkit-animation-name: bounceOutUp; 720 animation-name: bounceOutUp; 721 } 722 723 724 @keyframes fadeIn { 725 from { 726 opacity: 0; 727 } 728 729 to { 730 opacity: 1; 731 } 732 } 733 734 .fadeIn { 735 -webkit-animation-name: fadeIn; 736 animation-name: fadeIn; 737 } 738 739 740 @keyframes fadeInDown { 741 from { 742 opacity: 0; 743 -webkit-transform: translate3d(0, -100%, 0); 744 transform: translate3d(0, -100%, 0); 745 } 746 747 to { 748 opacity: 1; 749 -webkit-transform: translate3d(0, 0, 0); 750 transform: translate3d(0, 0, 0); 751 } 752 } 753 754 .fadeInDown { 755 -webkit-animation-name: fadeInDown; 756 animation-name: fadeInDown; 757 } 758 759 @keyframes fadeInDownBig { 760 from { 761 opacity: 0; 762 -webkit-transform: translate3d(0, -2000px, 0); 763 transform: translate3d(0, -2000px, 0); 764 } 765 766 to { 767 opacity: 1; 768 -webkit-transform: translate3d(0, 0, 0); 769 transform: translate3d(0, 0, 0); 770 } 771 } 772 773 .fadeInDownBig { 774 -webkit-animation-name: fadeInDownBig; 775 animation-name: fadeInDownBig; 776 } 777 778 779 780 @keyframes fadeInLeft { 781 from { 782 opacity: 0; 783 -webkit-transform: translate3d(-100%, 0, 0); 784 transform: translate3d(-100%, 0, 0); 785 } 786 787 to { 788 opacity: 1; 789 -webkit-transform: translate3d(0, 0, 0); 790 transform: translate3d(0, 0, 0); 791 } 792 } 793 794 .fadeInLeft { 795 -webkit-animation-name: fadeInLeft; 796 animation-name: fadeInLeft; 797 } 798 799 800 801 @keyframes fadeInLeftBig { 802 from { 803 opacity: 0; 804 -webkit-transform: translate3d(-2000px, 0, 0); 805 transform: translate3d(-2000px, 0, 0); 806 } 807 808 to { 809 opacity: 1; 810 -webkit-transform: translate3d(0, 0, 0); 811 transform: translate3d(0, 0, 0); 812 } 813 } 814 815 .fadeInLeftBig { 816 -webkit-animation-name: fadeInLeftBig; 817 animation-name: fadeInLeftBig; 818 } 819 820 821 822 @keyframes fadeInRight { 823 from { 824 opacity: 0; 825 -webkit-transform: translate3d(100%, 0, 0); 826 transform: translate3d(100%, 0, 0); 827 } 828 829 to { 830 opacity: 1; 831 -webkit-transform: translate3d(0, 0, 0); 832 transform: translate3d(0, 0, 0); 833 } 834 } 835 836 .fadeInRight { 837 -webkit-animation-name: fadeInRight; 838 animation-name: fadeInRight; 839 } 840 841 842 @keyframes fadeInRightBig { 843 from { 844 opacity: 0; 845 -webkit-transform: translate3d(2000px, 0, 0); 846 transform: translate3d(2000px, 0, 0); 847 } 848 849 to { 850 opacity: 1; 851 -webkit-transform: translate3d(0, 0, 0); 852 transform: translate3d(0, 0, 0); 853 } 854 } 855 856 .fadeInRightBig { 857 -webkit-animation-name: fadeInRightBig; 858 animation-name: fadeInRightBig; 859 } 860 861 862 @keyframes fadeInUp { 863 from { 864 opacity: 0; 865 -webkit-transform: translate3d(0, 100%, 0); 866 transform: translate3d(0, 100%, 0); 867 } 868 869 to { 870 opacity: 1; 871 -webkit-transform: translate3d(0, 0, 0); 872 transform: translate3d(0, 0, 0); 873 } 874 } 875 876 .fadeInUp { 877 -webkit-animation-name: fadeInUp; 878 animation-name: fadeInUp; 879 } 880 881 @-webkit-keyframes fadeInUpBig { 882 from { 883 opacity: 0; 884 -webkit-transform: translate3d(0, 2000px, 0); 885 transform: translate3d(0, 2000px, 0); 886 } 887 888 to { 889 opacity: 1; 890 -webkit-transform: translate3d(0, 0, 0); 891 transform: translate3d(0, 0, 0); 892 } 893 } 894 895 @keyframes fadeInUpBig { 896 from { 897 opacity: 0; 898 -webkit-transform: translate3d(0, 2000px, 0); 899 transform: translate3d(0, 2000px, 0); 900 } 901 902 to { 903 opacity: 1; 904 -webkit-transform: translate3d(0, 0, 0); 905 transform: translate3d(0, 0, 0); 906 } 907 } 908 909 .fadeInUpBig { 910 -webkit-animation-name: fadeInUpBig; 911 animation-name: fadeInUpBig; 912 } 913 914 @-webkit-keyframes fadeOut { 915 from { 916 opacity: 1; 917 } 918 919 to { 920 opacity: 0; 921 } 922 } 923 924 @keyframes fadeOut { 925 from { 926 opacity: 1; 927 } 928 929 to { 930 opacity: 0; 931 } 932 } 933 934 .fadeOut { 935 -webkit-animation-name: fadeOut; 936 animation-name: fadeOut; 937 } 938 939 @-webkit-keyframes fadeOutDown { 940 from { 941 opacity: 1; 942 } 943 944 to { 945 opacity: 0; 946 -webkit-transform: translate3d(0, 100%, 0); 947 transform: translate3d(0, 100%, 0); 948 } 949 } 950 951 @keyframes fadeOutDown { 952 from { 953 opacity: 1; 954 } 955 956 to { 957 opacity: 0; 958 -webkit-transform: translate3d(0, 100%, 0); 959 transform: translate3d(0, 100%, 0); 960 } 961 } 962 963 .fadeOutDown { 964 -webkit-animation-name: fadeOutDown; 965 animation-name: fadeOutDown; 966 } 967 968 @-webkit-keyframes fadeOutDownBig { 969 from { 970 opacity: 1; 971 } 972 973 to { 974 opacity: 0; 975 -webkit-transform: translate3d(0, 2000px, 0); 976 transform: translate3d(0, 2000px, 0); 977 } 978 } 979 980 @keyframes fadeOutDownBig { 981 from { 982 opacity: 1; 983 } 984 985 to { 986 opacity: 0; 987 -webkit-transform: translate3d(0, 2000px, 0); 988 transform: translate3d(0, 2000px, 0); 989 } 990 } 991 992 .fadeOutDownBig { 993 -webkit-animation-name: fadeOutDownBig; 994 animation-name: fadeOutDownBig; 995 } 996 997 @-webkit-keyframes fadeOutLeft { 998 from { 999 opacity: 1; 1000 } 1001 1002 to { 1003 opacity: 0; 1004 -webkit-transform: translate3d(-100%, 0, 0); 1005 transform: translate3d(-100%, 0, 0); 1006 } 1007 } 1008 1009 @keyframes fadeOutLeft { 1010 from { 1011 opacity: 1; 1012 } 1013 1014 to { 1015 opacity: 0; 1016 -webkit-transform: translate3d(-100%, 0, 0); 1017 transform: translate3d(-100%, 0, 0); 1018 } 1019 } 1020 1021 .fadeOutLeft { 1022 -webkit-animation-name: fadeOutLeft; 1023 animation-name: fadeOutLeft; 1024 } 1025 1026 @-webkit-keyframes fadeOutLeftBig { 1027 from { 1028 opacity: 1; 1029 } 1030 1031 to { 1032 opacity: 0; 1033 -webkit-transform: translate3d(-2000px, 0, 0); 1034 transform: translate3d(-2000px, 0, 0); 1035 } 1036 } 1037 1038 @keyframes fadeOutLeftBig { 1039 from { 1040 opacity: 1; 1041 } 1042 1043 to { 1044 opacity: 0; 1045 -webkit-transform: translate3d(-2000px, 0, 0); 1046 transform: translate3d(-2000px, 0, 0); 1047 } 1048 } 1049 1050 .fadeOutLeftBig { 1051 -webkit-animation-name: fadeOutLeftBig; 1052 animation-name: fadeOutLeftBig; 1053 } 1054 1055 @-webkit-keyframes fadeOutRight { 1056 from { 1057 opacity: 1; 1058 } 1059 1060 to { 1061 opacity: 0; 1062 -webkit-transform: translate3d(100%, 0, 0); 1063 transform: translate3d(100%, 0, 0); 1064 } 1065 } 1066 1067 @keyframes fadeOutRight { 1068 from { 1069 opacity: 1; 1070 } 1071 1072 to { 1073 opacity: 0; 1074 -webkit-transform: translate3d(100%, 0, 0); 1075 transform: translate3d(100%, 0, 0); 1076 } 1077 } 1078 1079 .fadeOutRight { 1080 -webkit-animation-name: fadeOutRight; 1081 animation-name: fadeOutRight; 1082 } 1083 1084 @-webkit-keyframes fadeOutRightBig { 1085 from { 1086 opacity: 1; 1087 } 1088 1089 to { 1090 opacity: 0; 1091 -webkit-transform: translate3d(2000px, 0, 0); 1092 transform: translate3d(2000px, 0, 0); 1093 } 1094 } 1095 1096 @keyframes fadeOutRightBig { 1097 from { 1098 opacity: 1; 1099 } 1100 1101 to { 1102 opacity: 0; 1103 -webkit-transform: translate3d(2000px, 0, 0); 1104 transform: translate3d(2000px, 0, 0); 1105 } 1106 } 1107 1108 .fadeOutRightBig { 1109 -webkit-animation-name: fadeOutRightBig; 1110 animation-name: fadeOutRightBig; 1111 } 1112 1113 @-webkit-keyframes fadeOutUp { 1114 from { 1115 opacity: 1; 1116 } 1117 1118 to { 1119 opacity: 0; 1120 -webkit-transform: translate3d(0, -100%, 0); 1121 transform: translate3d(0, -100%, 0); 1122 } 1123 } 1124 1125 @keyframes fadeOutUp { 1126 from { 1127 opacity: 1; 1128 } 1129 1130 to { 1131 opacity: 0; 1132 -webkit-transform: translate3d(0, -100%, 0); 1133 transform: translate3d(0, -100%, 0); 1134 } 1135 } 1136 1137 .fadeOutUp { 1138 -webkit-animation-name: fadeOutUp; 1139 animation-name: fadeOutUp; 1140 } 1141 1142 @-webkit-keyframes fadeOutUpBig { 1143 from { 1144 opacity: 1; 1145 } 1146 1147 to { 1148 opacity: 0; 1149 -webkit-transform: translate3d(0, -2000px, 0); 1150 transform: translate3d(0, -2000px, 0); 1151 } 1152 } 1153 1154 @keyframes fadeOutUpBig { 1155 from { 1156 opacity: 1; 1157 } 1158 1159 to { 1160 opacity: 0; 1161 -webkit-transform: translate3d(0, -2000px, 0); 1162 transform: translate3d(0, -2000px, 0); 1163 } 1164 } 1165 1166 .fadeOutUpBig { 1167 -webkit-animation-name: fadeOutUpBig; 1168 animation-name: fadeOutUpBig; 1169 } 1170 1171 1172 @keyframes flip { 1173 from { 1174 -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) 1175 rotate3d(0, 1, 0, -360deg); 1176 transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); 1177 -webkit-animation-timing-function: ease-out; 1178 animation-timing-function: ease-out; 1179 } 1180 1181 40% { 1182 -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 1183 rotate3d(0, 1, 0, -190deg); 1184 transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 1185 rotate3d(0, 1, 0, -190deg); 1186 -webkit-animation-timing-function: ease-out; 1187 animation-timing-function: ease-out; 1188 } 1189 1190 50% { 1191 -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 1192 rotate3d(0, 1, 0, -170deg); 1193 transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) 1194 rotate3d(0, 1, 0, -170deg); 1195 -webkit-animation-timing-function: ease-in; 1196 animation-timing-function: ease-in; 1197 } 1198 1199 80% { 1200 -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) 1201 rotate3d(0, 1, 0, 0deg); 1202 transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) 1203 rotate3d(0, 1, 0, 0deg); 1204 -webkit-animation-timing-function: ease-in; 1205 animation-timing-function: ease-in; 1206 } 1207 1208 to { 1209 -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) 1210 rotate3d(0, 1, 0, 0deg); 1211 transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); 1212 -webkit-animation-timing-function: ease-in; 1213 animation-timing-function: ease-in; 1214 } 1215 } 1216 1217 .animated.flip { 1218 -webkit-backface-visibility: visible; 1219 backface-visibility: visible; 1220 -webkit-animation-name: flip; 1221 animation-name: flip; 1222 } 1223 1224 @-webkit-keyframes flipInX { 1225 from { 1226 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1227 transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1228 -webkit-animation-timing-function: ease-in; 1229 animation-timing-function: ease-in; 1230 opacity: 0; 1231 } 1232 1233 40% { 1234 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1235 transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1236 -webkit-animation-timing-function: ease-in; 1237 animation-timing-function: ease-in; 1238 } 1239 1240 60% { 1241 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1242 transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1243 opacity: 1; 1244 } 1245 1246 80% { 1247 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1248 transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1249 } 1250 1251 to { 1252 -webkit-transform: perspective(400px); 1253 transform: perspective(400px); 1254 } 1255 } 1256 1257 @keyframes flipInX { 1258 from { 1259 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1260 transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1261 -webkit-animation-timing-function: ease-in; 1262 animation-timing-function: ease-in; 1263 opacity: 0; 1264 } 1265 1266 40% { 1267 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1268 transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1269 -webkit-animation-timing-function: ease-in; 1270 animation-timing-function: ease-in; 1271 } 1272 1273 60% { 1274 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1275 transform: perspective(400px) rotate3d(1, 0, 0, 10deg); 1276 opacity: 1; 1277 } 1278 1279 80% { 1280 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1281 transform: perspective(400px) rotate3d(1, 0, 0, -5deg); 1282 } 1283 1284 to { 1285 -webkit-transform: perspective(400px); 1286 transform: perspective(400px); 1287 } 1288 } 1289 1290 .flipInX { 1291 -webkit-backface-visibility: visible !important; 1292 backface-visibility: visible !important; 1293 -webkit-animation-name: flipInX; 1294 animation-name: flipInX; 1295 } 1296 1297 1298 @keyframes flipInY { 1299 from { 1300 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1301 transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1302 -webkit-animation-timing-function: ease-in; 1303 animation-timing-function: ease-in; 1304 opacity: 0; 1305 } 1306 1307 40% { 1308 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1309 transform: perspective(400px) rotate3d(0, 1, 0, -20deg); 1310 -webkit-animation-timing-function: ease-in; 1311 animation-timing-function: ease-in; 1312 } 1313 1314 60% { 1315 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1316 transform: perspective(400px) rotate3d(0, 1, 0, 10deg); 1317 opacity: 1; 1318 } 1319 1320 80% { 1321 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1322 transform: perspective(400px) rotate3d(0, 1, 0, -5deg); 1323 } 1324 1325 to { 1326 -webkit-transform: perspective(400px); 1327 transform: perspective(400px); 1328 } 1329 } 1330 1331 .flipInY { 1332 -webkit-backface-visibility: visible !important; 1333 backface-visibility: visible !important; 1334 -webkit-animation-name: flipInY; 1335 animation-name: flipInY; 1336 } 1337 1338 1339 1340 @keyframes flipOutX { 1341 from { 1342 -webkit-transform: perspective(400px); 1343 transform: perspective(400px); 1344 } 1345 1346 30% { 1347 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1348 transform: perspective(400px) rotate3d(1, 0, 0, -20deg); 1349 opacity: 1; 1350 } 1351 1352 to { 1353 -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1354 transform: perspective(400px) rotate3d(1, 0, 0, 90deg); 1355 opacity: 0; 1356 } 1357 } 1358 1359 .flipOutX { 1360 -webkit-animation-duration: 0.75s; 1361 animation-duration: 0.75s; 1362 -webkit-animation-name: flipOutX; 1363 animation-name: flipOutX; 1364 -webkit-backface-visibility: visible !important; 1365 backface-visibility: visible !important; 1366 } 1367 1368 1369 @keyframes flipOutY { 1370 from { 1371 -webkit-transform: perspective(400px); 1372 transform: perspective(400px); 1373 } 1374 1375 30% { 1376 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 1377 transform: perspective(400px) rotate3d(0, 1, 0, -15deg); 1378 opacity: 1; 1379 } 1380 1381 to { 1382 -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1383 transform: perspective(400px) rotate3d(0, 1, 0, 90deg); 1384 opacity: 0; 1385 } 1386 } 1387 1388 .flipOutY { 1389 -webkit-animation-duration: 0.75s; 1390 animation-duration: 0.75s; 1391 -webkit-backface-visibility: visible !important; 1392 backface-visibility: visible !important; 1393 -webkit-animation-name: flipOutY; 1394 animation-name: flipOutY; 1395 } 1396 1397 1398 @keyframes lightSpeedIn { 1399 from { 1400 -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); 1401 transform: translate3d(100%, 0, 0) skewX(-30deg); 1402 opacity: 0; 1403 } 1404 1405 60% { 1406 -webkit-transform: skewX(20deg); 1407 transform: skewX(20deg); 1408 opacity: 1; 1409 } 1410 1411 80% { 1412 -webkit-transform: skewX(-5deg); 1413 transform: skewX(-5deg); 1414 } 1415 1416 to { 1417 -webkit-transform: translate3d(0, 0, 0); 1418 transform: translate3d(0, 0, 0); 1419 } 1420 } 1421 1422 .lightSpeedIn { 1423 -webkit-animation-name: lightSpeedIn; 1424 animation-name: lightSpeedIn; 1425 -webkit-animation-timing-function: ease-out; 1426 animation-timing-function: ease-out; 1427 } 1428 1429 1430 @keyframes lightSpeedOut {/*向右移动,倾斜,透明度变为0*/ 1431 from { 1432 opacity: 1; 1433 } 1434 1435 to { 1436 -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); 1437 transform: translate3d(100%, 0, 0) skewX(30deg); 1438 opacity: 0; 1439 } 1440 } 1441 1442 .lightSpeedOut { 1443 -webkit-animation-name: lightSpeedOut; 1444 animation-name: lightSpeedOut; 1445 -webkit-animation-timing-function: ease-in; 1446 animation-timing-function: ease-in; 1447 } 1448 1449 1450 @keyframes rotateIn {/*围绕圆点旋转-200度,透明度0--1*/ 1451 from { 1452 -webkit-transform-origin: center; 1453 transform-origin: center; 1454 -webkit-transform: rotate3d(0, 0, 1, -200deg); 1455 transform: rotate3d(0, 0, 1, -200deg); 1456 opacity: 0; 1457 } 1458 1459 to { 1460 -webkit-transform-origin: center; 1461 transform-origin: center; 1462 -webkit-transform: translate3d(0, 0, 0); 1463 transform: translate3d(0, 0, 0); 1464 opacity: 1; 1465 } 1466 } 1467 1468 .rotateIn { 1469 -webkit-animation-name: rotateIn; 1470 animation-name: rotateIn; 1471 } 1472 1473 1474 @keyframes rotateInDownLeft {/*围绕左下角z轴旋转-45度,*/ 1475 from { 1476 -webkit-transform-origin: left bottom; 1477 transform-origin: left bottom; 1478 -webkit-transform: rotate3d(0, 0, 1, -45deg); 1479 transform: rotate3d(0, 0, 1, -45deg); 1480 opacity: 0; 1481 } 1482 1483 to { 1484 -webkit-transform-origin: left bottom; 1485 transform-origin: left bottom; 1486 -webkit-transform: translate3d(0, 0, 0); 1487 transform: translate3d(0, 0, 0); 1488 opacity: 1; 1489 } 1490 } 1491 1492 .rotateInDownLeft { 1493 -webkit-animation-name: rotateInDownLeft; 1494 animation-name: rotateInDownLeft; 1495 } 1496 1497 1498 @keyframes rotateInDownRight { 1499 from { 1500 -webkit-transform-origin: right bottom; 1501 transform-origin: right bottom; 1502 -webkit-transform: rotate3d(0, 0, 1, 45deg); 1503 transform: rotate3d(0, 0, 1, 45deg); 1504 opacity: 0; 1505 } 1506 1507 to { 1508 -webkit-transform-origin: right bottom; 1509 transform-origin: right bottom; 1510 -webkit-transform: translate3d(0, 0, 0); 1511 transform: translate3d(0, 0, 0); 1512 opacity: 1; 1513 } 1514 } 1515 1516 .rotateInDownRight { 1517 -webkit-animation-name: rotateInDownRight; 1518 animation-name: rotateInDownRight; 1519 } 1520 1521 1522 @keyframes rotateInUpLeft {/*以左下角为旋转点,从下往上旋转*/ 1523 from { 1524 -webkit-transform-origin: left bottom; 1525 transform-origin: left bottom; 1526 -webkit-transform: rotate3d(0, 0, 1, 45deg); 1527 transform: rotate3d(0, 0, 1, 45deg); 1528 opacity: 0; 1529 } 1530 1531 to { 1532 -webkit-transform-origin: left bottom; 1533 transform-origin: left bottom; 1534 -webkit-transform: translate3d(0, 0, 0); 1535 transform: translate3d(0, 0, 0); 1536 opacity: 1; 1537 } 1538 } 1539 1540 .rotateInUpLeft { 1541 -webkit-animation-name: rotateInUpLeft; 1542 animation-name: rotateInUpLeft; 1543 } 1544 1545 @keyframes rotateInUpRight { 1546 from { 1547 -webkit-transform-origin: right bottom; 1548 transform-origin: right bottom; 1549 -webkit-transform: rotate3d(0, 0, 1, -90deg); 1550 transform: rotate3d(0, 0, 1, -90deg); 1551 opacity: 0; 1552 } 1553 1554 to { 1555 -webkit-transform-origin: right bottom; 1556 transform-origin: right bottom; 1557 -webkit-transform: translate3d(0, 0, 0); 1558 transform: translate3d(0, 0, 0); 1559 opacity: 1; 1560 } 1561 } 1562 1563 .rotateInUpRight { 1564 -webkit-animation-name: rotateInUpRight; 1565 animation-name: rotateInUpRight; 1566 } 1567 1568 @keyframes rotateOut { 1569 from { 1570 -webkit-transform-origin: center; 1571 transform-origin: center; 1572 opacity: 1; 1573 } 1574 1575 to { 1576 -webkit-transform-origin: center; 1577 transform-origin: center; 1578 -webkit-transform: rotate3d(0, 0, 1, 200deg); 1579 transform: rotate3d(0, 0, 1, 200deg); 1580 opacity: 0; 1581 } 1582 } 1583 1584 .rotateOut { 1585 -webkit-animation-name: rotateOut; 1586 animation-name: rotateOut; 1587 } 1588 1589 1590 @keyframes rotateOutDownLeft { 1591 from { 1592 -webkit-transform-origin: left bottom; 1593 transform-origin: left bottom; 1594 opacity: 1; 1595 } 1596 1597 to { 1598 -webkit-transform-origin: left bottom; 1599 transform-origin: left bottom; 1600 -webkit-transform: rotate3d(0, 0, 1, 45deg); 1601 transform: rotate3d(0, 0, 1, 45deg); 1602 opacity: 0; 1603 } 1604 } 1605 1606 .rotateOutDownLeft { 1607 -webkit-animation-name: rotateOutDownLeft; 1608 animation-name: rotateOutDownLeft; 1609 } 1610 1611 1612 @keyframes rotateOutDownRight {/*z轴,右下角,旋转45度,透明度1-0*/ 1613 from { 1614 -webkit-transform-origin: right bottom; 1615 transform-origin: right bottom; 1616 opacity: 1; 1617 } 1618 1619 to { 1620 -webkit-transform-origin: right bottom; 1621 transform-origin: right bottom; 1622 -webkit-transform: rotate3d(0, 0, 1, -45deg); 1623 transform: rotate3d(0, 0, 1, -45deg); 1624 opacity: 0; 1625 } 1626 } 1627 1628 .rotateOutDownRight { 1629 -webkit-animation-name: rotateOutDownRight; 1630 animation-name: rotateOutDownRight; 1631 } 1632 1633 1634 @keyframes rotateOutUpLeft { 1635 from { 1636 -webkit-transform-origin: left bottom; 1637 transform-origin: left bottom; 1638 opacity: 1; 1639 } 1640 1641 to { 1642 -webkit-transform-origin: left bottom; 1643 transform-origin: left bottom; 1644 -webkit-transform: rotate3d(0, 0, 1, -45deg); 1645 transform: rotate3d(0, 0, 1, -45deg); 1646 opacity: 0; 1647 } 1648 } 1649 1650 .rotateOutUpLeft { 1651 -webkit-animation-name: rotateOutUpLeft; 1652 animation-name: rotateOutUpLeft; 1653 } 1654 1655 1656 @keyframes rotateOutUpRight { 1657 from { 1658 -webkit-transform-origin: right bottom; 1659 transform-origin: right bottom; 1660 opacity: 1; 1661 } 1662 1663 to { 1664 -webkit-transform-origin: right bottom; 1665 transform-origin: right bottom; 1666 -webkit-transform: rotate3d(0, 0, 1, 90deg); 1667 transform: rotate3d(0, 0, 1, 90deg); 1668 opacity: 0; 1669 } 1670 } 1671 1672 .rotateOutUpRight { 1673 -webkit-animation-name: rotateOutUpRight; 1674 animation-name: rotateOutUpRight; 1675 } 1676 1677 1678 @keyframes hinge {/*像右侧的钉子掉了,相框掉到了地上;*/ 1679 0% { 1680 -webkit-transform-origin: top left; 1681 transform-origin: top left; 1682 -webkit-animation-timing-function: ease-in-out; 1683 animation-timing-function: ease-in-out; 1684 } 1685 1686 20%, 1687 60% { 1688 -webkit-transform: rotate3d(0, 0, 1, 80deg); 1689 transform: rotate3d(0, 0, 1, 80deg); 1690 -webkit-transform-origin: top left; 1691 transform-origin: top left; 1692 -webkit-animation-timing-function: ease-in-out; 1693 animation-timing-function: ease-in-out; 1694 } 1695 1696 40%, 1697 80% { 1698 -webkit-transform: rotate3d(0, 0, 1, 60deg); 1699 transform: rotate3d(0, 0, 1, 60deg); 1700 -webkit-transform-origin: top left; 1701 transform-origin: top left; 1702 -webkit-animation-timing-function: ease-in-out; 1703 animation-timing-function: ease-in-out; 1704 opacity: 1; 1705 } 1706 1707 to { 1708 -webkit-transform: translate3d(0, 700px, 0); 1709 transform: translate3d(0, 700px, 0); 1710 opacity: 0; 1711 } 1712 } 1713 1714 .hinge { 1715 -webkit-animation-duration: 2s; 1716 animation-duration: 2s; 1717 -webkit-animation-name: hinge; 1718 animation-name: hinge; 1719 } 1720 1721 1722 @keyframes jackInTheBox { 1723 from { 1724 opacity: 0; 1725 -webkit-transform: scale(0.1) rotate(30deg); 1726 transform: scale(0.1) rotate(30deg); 1727 -webkit-transform-origin: center bottom; 1728 transform-origin: center bottom; 1729 } 1730 1731 50% { 1732 -webkit-transform: rotate(-10deg); 1733 transform: rotate(-10deg); 1734 } 1735 1736 70% { 1737 -webkit-transform: rotate(3deg); 1738 transform: rotate(3deg); 1739 } 1740 1741 to { 1742 opacity: 1; 1743 -webkit-transform: scale(1); 1744 transform: scale(1); 1745 } 1746 } 1747 1748 .jackInTheBox { 1749 -webkit-animation-name: jackInTheBox; 1750 animation-name: jackInTheBox; 1751 } 1752 1753 1754 1755 @keyframes rollIn {/*x轴从-100%运动到0,同时从-120度到0度*/ 1756 from { 1757 opacity: 0; 1758 -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 1759 transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); 1760 } 1761 1762 to { 1763 opacity: 1; 1764 -webkit-transform: translate3d(0, 0, 0); 1765 transform: translate3d(0, 0, 0); 1766 } 1767 } 1768 1769 .rollIn { 1770 -webkit-animation-name: rollIn; 1771 animation-name: rollIn; 1772 } 1773 1774 1775 @keyframes rollOut {/*向右100%,旋转120度*/ 1776 from { 1777 opacity: 1; 1778 } 1779 1780 to { 1781 opacity: 0; 1782 -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 1783 transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); 1784 } 1785 } 1786 1787 .rollOut { 1788 -webkit-animation-name: rollOut; 1789 animation-name: rollOut; 1790 } 1791 1792 1793 @keyframes zoomIn {/*缩放从0.3--1,透明度从0-1*/ 1794 from { 1795 opacity: 0; 1796 -webkit-transform: scale3d(0.3, 0.3, 0.3); 1797 transform: scale3d(0.3, 0.3, 0.3); 1798 } 1799 1800 50% { 1801 opacity: 1; 1802 } 1803 } 1804 1805 .zoomIn { 1806 -webkit-animation-name: zoomIn; 1807 animation-name: zoomIn; 1808 } 1809 1810 1811 @keyframes zoomInDown {/*从上面掉下来,逐渐放大,*/ 1812 from { 1813 opacity: 0; 1814 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); 1815 transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); 1816 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1817 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1818 } 1819 1820 60% { 1821 opacity: 1; 1822 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 1823 transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 1824 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1825 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1826 } 1827 } 1828 1829 .zoomInDown { 1830 -webkit-animation-name: zoomInDown; 1831 animation-name: zoomInDown; 1832 } 1833 1834 1835 @keyframes zoomInLeft {/*从左行邮,逐渐移动并变大*/ 1836 from { 1837 opacity: 0; 1838 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); 1839 transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); 1840 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1841 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1842 } 1843 1844 60% { 1845 opacity: 1; 1846 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); 1847 transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); 1848 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1849 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1850 } 1851 } 1852 1853 .zoomInLeft { 1854 -webkit-animation-name: zoomInLeft; 1855 animation-name: zoomInLeft; 1856 } 1857 1858 1859 @keyframes zoomInRight { 1860 from { 1861 opacity: 0; 1862 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); 1863 transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); 1864 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1865 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1866 } 1867 1868 60% { 1869 opacity: 1; 1870 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); 1871 transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); 1872 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1873 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1874 } 1875 } 1876 1877 .zoomInRight { 1878 -webkit-animation-name: zoomInRight; 1879 animation-name: zoomInRight; 1880 } 1881 1882 1883 @keyframes zoomInUp { 1884 from { 1885 opacity: 0; 1886 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); 1887 transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); 1888 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1889 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1890 } 1891 1892 60% { 1893 opacity: 1; 1894 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 1895 transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 1896 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1897 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1898 } 1899 } 1900 1901 .zoomInUp { 1902 -webkit-animation-name: zoomInUp; 1903 animation-name: zoomInUp; 1904 } 1905 1906 1907 @keyframes zoomOut {/*缩小;收回去*/ 1908 from { 1909 opacity: 1; 1910 } 1911 1912 50% { 1913 opacity: 0; 1914 -webkit-transform: scale3d(0.3, 0.3, 0.3); 1915 transform: scale3d(0.3, 0.3, 0.3); 1916 } 1917 1918 to { 1919 opacity: 0; 1920 } 1921 } 1922 1923 .zoomOut { 1924 -webkit-animation-name: zoomOut; 1925 animation-name: zoomOut; 1926 } 1927 1928 1929 @keyframes zoomOutDown {/*先缩小,然后掉下去*/ 1930 40% { 1931 opacity: 1; 1932 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 1933 transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); 1934 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1935 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 1936 } 1937 1938 to { 1939 opacity: 0; 1940 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); 1941 transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); 1942 -webkit-transform-origin: center bottom; 1943 transform-origin: center bottom; 1944 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1945 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 1946 } 1947 } 1948 1949 .zoomOutDown { 1950 -webkit-animation-name: zoomOutDown; 1951 animation-name: zoomOutDown; 1952 } 1953 1954 1955 @keyframes zoomOutLeft {/*向左,缩小,透明度0*/ 1956 40% { 1957 opacity: 1; 1958 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); 1959 transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); 1960 } 1961 1962 to { 1963 opacity: 0; 1964 -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); 1965 transform: scale(0.1) translate3d(-2000px, 0, 0); 1966 -webkit-transform-origin: left center; 1967 transform-origin: left center; 1968 } 1969 } 1970 1971 .zoomOutLeft { 1972 -webkit-animation-name: zoomOutLeft; 1973 animation-name: zoomOutLeft; 1974 } 1975 1976 1977 @keyframes zoomOutRight { 1978 40% { 1979 opacity: 1; 1980 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); 1981 transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); 1982 } 1983 1984 to { 1985 opacity: 0; 1986 -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); 1987 transform: scale(0.1) translate3d(2000px, 0, 0); 1988 -webkit-transform-origin: right center; 1989 transform-origin: right center; 1990 } 1991 } 1992 1993 .zoomOutRight { 1994 -webkit-animation-name: zoomOutRight; 1995 animation-name: zoomOutRight; 1996 } 1997 1998 @keyframes zoomOutUp { 1999 40% { 2000 opacity: 1; 2001 -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 2002 transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); 2003 -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 2004 animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); 2005 } 2006 2007 to { 2008 opacity: 0; 2009 -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); 2010 transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); 2011 -webkit-transform-origin: center bottom; 2012 transform-origin: center bottom; 2013 -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 2014 animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); 2015 } 2016 } 2017 2018 .zoomOutUp { 2019 -webkit-animation-name: zoomOutUp; 2020 animation-name: zoomOutUp; 2021 } 2022 2023 2024 @keyframes slideInDown { 2025 from { 2026 -webkit-transform: translate3d(0, -100%, 0); 2027 transform: translate3d(0, -100%, 0); 2028 visibility: visible; 2029 } 2030 2031 to { 2032 -webkit-transform: translate3d(0, 0, 0); 2033 transform: translate3d(0, 0, 0); 2034 } 2035 } 2036 2037 .slideInDown { 2038 -webkit-animation-name: slideInDown; 2039 animation-name: slideInDown; 2040 } 2041 2042 2043 2044 @keyframes slideInLeft { 2045 from { 2046 -webkit-transform: translate3d(-100%, 0, 0); 2047 transform: translate3d(-100%, 0, 0); 2048 visibility: visible; 2049 } 2050 2051 to { 2052 -webkit-transform: translate3d(0, 0, 0); 2053 transform: translate3d(0, 0, 0); 2054 } 2055 } 2056 2057 .slideInLeft { 2058 -webkit-animation-name: slideInLeft; 2059 animation-name: slideInLeft; 2060 } 2061 2062 2063 @keyframes slideInRight { 2064 from { 2065 -webkit-transform: translate3d(100%, 0, 0); 2066 transform: translate3d(100%, 0, 0); 2067 visibility: visible; 2068 } 2069 2070 to { 2071 -webkit-transform: translate3d(0, 0, 0); 2072 transform: translate3d(0, 0, 0); 2073 } 2074 } 2075 2076 .slideInRight { 2077 -webkit-animation-name: slideInRight; 2078 animation-name: slideInRight; 2079 } 2080 2081 2082 @keyframes slideInUp {/*y轴100%---0*/ 2083 from { 2084 -webkit-transform: translate3d(0, 100%, 0); 2085 transform: translate3d(0, 100%, 0); 2086 visibility: visible; 2087 } 2088 2089 to { 2090 -webkit-transform: translate3d(0, 0, 0); 2091 transform: translate3d(0, 0, 0); 2092 } 2093 } 2094 2095 .slideInUp { 2096 -webkit-animation-name: slideInUp; 2097 animation-name: slideInUp; 2098 } 2099 2100 @-webkit-keyframes slideOutDown {/*y轴0---100%*/ 2101 from { 2102 -webkit-transform: translate3d(0, 0, 0); 2103 transform: translate3d(0, 0, 0); 2104 } 2105 2106 to { 2107 visibility: hidden; 2108 -webkit-transform: translate3d(0, 100%, 0); 2109 transform: translate3d(0, 100%, 0); 2110 } 2111 } 2112 2113 @keyframes slideOutDown { 2114 from { 2115 -webkit-transform: translate3d(0, 0, 0); 2116 transform: translate3d(0, 0, 0); 2117 } 2118 2119 to { 2120 visibility: hidden; 2121 -webkit-transform: translate3d(0, 100%, 0); 2122 transform: translate3d(0, 100%, 0); 2123 } 2124 } 2125 2126 .slideOutDown { 2127 -webkit-animation-name: slideOutDown; 2128 animation-name: slideOutDown; 2129 } 2130 2131 2132 @keyframes slideOutLeft { 2133 from { 2134 -webkit-transform: translate3d(0, 0, 0); 2135 transform: translate3d(0, 0, 0); 2136 } 2137 2138 to { 2139 visibility: hidden; 2140 -webkit-transform: translate3d(-100%, 0, 0); 2141 transform: translate3d(-100%, 0, 0); 2142 } 2143 } 2144 2145 .slideOutLeft { 2146 -webkit-animation-name: slideOutLeft; 2147 animation-name: slideOutLeft; 2148 } 2149 2150 2151 @keyframes slideOutRight { 2152 from { 2153 -webkit-transform: translate3d(0, 0, 0); 2154 transform: translate3d(0, 0, 0); 2155 } 2156 2157 to { 2158 visibility: hidden; 2159 -webkit-transform: translate3d(100%, 0, 0); 2160 transform: translate3d(100%, 0, 0); 2161 } 2162 } 2163 2164 .slideOutRight { 2165 -webkit-animation-name: slideOutRight; 2166 animation-name: slideOutRight; 2167 } 2168 2169 2170 @keyframes slideOutUp { 2171 from { 2172 -webkit-transform: translate3d(0, 0, 0); 2173 transform: translate3d(0, 0, 0); 2174 } 2175 2176 to { 2177 visibility: hidden; 2178 -webkit-transform: translate3d(0, -100%, 0); 2179 transform: translate3d(0, -100%, 0); 2180 } 2181 } 2182 2183 .slideOutUp { 2184 -webkit-animation-name: slideOutUp; 2185 animation-name: slideOutUp; 2186 } 2187 2188 /*动画持续时间*/ 2189 .animated { 2190 -webkit-animation-duration: 1s; 2191 animation-duration: 1s; 2192 -webkit-animation-fill-mode: both; 2193 animation-fill-mode: both; 2194 } 2195 2196 /*动画无限循环*/ 2197 .animated.infinite { 2198 -webkit-animation-iteration-count: infinite; 2199 animation-iteration-count: infinite; 2200 } 2201 /*动画延时*/ 2202 .animated.delay-1s { 2203 -webkit-animation-delay: 1s; 2204 animation-delay: 1s; 2205 } 2206 2207 .animated.delay-2s { 2208 -webkit-animation-delay: 2s; 2209 animation-delay: 2s; 2210 } 2211 2212 .animated.delay-3s { 2213 -webkit-animation-delay: 3s; 2214 animation-delay: 3s; 2215 } 2216 2217 .animated.delay-4s { 2218 -webkit-animation-delay: 4s; 2219 animation-delay: 4s; 2220 } 2221 2222 .animated.delay-5s { 2223 -webkit-animation-delay: 5s; 2224 animation-delay: 5s; 2225 } 2226 2227 .animated.fast { 2228 -webkit-animation-duration: 800ms; 2229 animation-duration: 800ms; 2230 } 2231 2232 .animated.faster { 2233 -webkit-animation-duration: 500ms; 2234 animation-duration: 500ms; 2235 } 2236 2237 .animated.slow { 2238 -webkit-animation-duration: 2s; 2239 animation-duration: 2s; 2240 } 2241 2242 .animated.slower { 2243 -webkit-animation-duration: 3s; 2244 animation-duration: 3s; 2245 } 2246 2247 @media (prefers-reduced-motion) { 2248 .animated { 2249 -webkit-animation: unset !important; 2250 animation: unset !important; 2251 -webkit-transition: none !important; 2252 transition: none !important; 2253 } 2254 }