css3常用动画效果。在做css3动画时, 除了原生动画以外, 经常要实现一些更复杂, 更符合物体运动规律的动画效果.
像很多网站有回到顶部的功能,有的是点击按钮,瞬间就回到顶部了,有的则是匀速回到顶部,而最符合运动规律的,则是匀加速回到顶部。虽说这个功能在某种程度上来说无关紧要,但给人的体验是很不一样的。
常用的动画库:
animation.css
magic.css
这些库虽然功能强大,但是很多效果往往我们用不到,如果时间允许的话,不妨自己手动实现一些常用的效果,以下是我搜集到的动画效果合集:
/* animation */
.a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ease;-moz-animation:1s ease;-ms-animation:1s ease;animation:1s ease;}
.a-fadein,.a-fadeint,.a-fadeinr,.a-fadeinb,.a-fadeinl,.a-bouncein,.a-bounceint,.a-bounceinr,.a-bounceinb,.a-bounceinl,.a-rotatein,.a-rotateinlt,.a-rotateinlb,.a-rotateinrt,.a-rotateinrb,.a-flipin,.a-flipinx,.a-flipiny{-webkit-animation:1s ease-out backwards;-moz-animation:1s ease-out backwards;-ms-animation:1s ease-out backwards;animation:1s ease-out backwards;}
.a-fadeout,.a-fadeoutt,.a-fadeoutr,.a-fadeoutb,.a-fadeoutl,.a-bounceout,.a-bounceoutt,.a-bounceoutr,.a-bounceoutb,.a-bounceoutl,.a-rotateout,.a-rotateoutlt,.a-rotateoutlb,.a-rotateoutrt,.a-rotateoutrb,.a-flipout,.a-flipoutx,.a-flipouty{-webkit-animation:1s ease-in forwards;-moz-animation:1s ease-in forwards;-ms-animation:1s ease-in forwards;animation:1s ease-in forwards;}
/* 淡入 */
.a-fadein{-webkit-animation-name:fadein;-moz-animation-name:fadein;-ms-animation-name:fadein;animation-name:fadein;}
/* 淡入-从上 */
.a-fadeint{-webkit-animation-name:fadeint;-moz-animation-name:fadeint;-ms-animation-name:fadeint;animation-name:fadeint;}
/* 淡入-从右 */
.a-fadeinr{-webkit-animation-name:fadeinr;-moz-animation-name:fadeinr;-ms-animation-name:fadeinr;animation-name:fadeinr;}
/* 淡入-从下 */
.a-fadeinb{-webkit-animation-name:fadeinb;-moz-animation-name:fadeinb;-ms-animation-name:fadeinb;animation-name:fadeinb;}
/* 淡入-从左 */
.a-fadeinl{-webkit-animation-name:fadeinl;-moz-animation-name:fadeinl;-ms-animation-name:fadeinl;animation-name:fadeinl;}
/* 淡出 */
.a-fadeout{-webkit-animation-name:fadeout;-moz-animation-name:fadeout;-ms-animation-name:fadeout;animation-name:fadeout;}
/* 淡出-向上 */
.a-fadeoutt{-webkit-animation-name:fadeoutt;-moz-animation-name:fadeoutt;-ms-animation-name:fadeoutt;animation-name:fadeoutt;}
/* 淡出-向右 */
.a-fadeoutr{-webkit-animation-name:fadeoutr;-moz-animation-name:fadeoutr;-ms-animation-name:fadeoutr;animation-name:fadeoutr;}
/* 淡出-向下 */
.a-fadeoutb{-webkit-animation-name:fadeoutb;-moz-animation-name:fadeoutb;-ms-animation-name:fadeoutb;animation-name:fadeoutb;}
/* 淡出-向左 */
.a-fadeoutl{-webkit-animation-name:fadeoutl;-moz-animation-name:fadeoutl;-ms-animation-name:fadeoutl;animation-name:fadeoutl;}
/* 弹跳 */
.a-bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-ms-animation-name:bounce;animation-name:bounce;}
/* 弹入 */
.a-bouncein{-webkit-animation-name:bouncein;-moz-animation-name:bouncein;-ms-animation-name:bouncein;animation-name:bouncein;}
/* 弹入-从上 */
.a-bounceint{-webkit-animation-name:bounceint;-moz-animation-name:bounceint;-ms-animation-name:bounceint;animation-name:bounceint;}
/* 弹入-从右 */
.a-bounceinr{-webkit-animation-name:bounceinr;-moz-animation-name:bounceinr;-ms-animation-name:bounceinr;animation-name:bounceinr;}
/* 弹入-从下 */
.a-bounceinb{-webkit-animation-name:bounceinb;-moz-animation-name:bounceinb;-ms-animation-name:bounceinb;animation-name:bounceinb;}
/* 弹入-从左 */
.a-bounceinl{-webkit-animation-name:bounceinl;-moz-animation-name:bounceinl;-ms-animation-name:bounceinl;animation-name:bounceinl;}
/* 弹出 */
.a-bounceout{-webkit-animation-name:bounceout;-moz-animation-name:bounceout;-ms-animation-name:bounceout;animation-name:bounceout;}
/* 弹出-向上 */
.a-bounceoutt{-webkit-animation-name:bounceoutt;-moz-animation-name:bounceoutt;-ms-animation-name:bounceoutt;animation-name:bounceoutt;}
/* 弹出-向右 */
.a-bounceoutr{-webkit-animation-name:bounceoutr;-moz-animation-name:bounceoutr;-ms-animation-name:bounceoutr;animation-name:bounceoutr;}
/* 弹出-向下 */
.a-bounceoutb{-webkit-animation-name:bounceoutb;-moz-animation-name:bounceoutb;-ms-animation-name:bounceoutb;animation-name:bounceoutb;}
/* 弹出-向左 */
.a-bounceoutl{-webkit-animation-name:bounceoutl;-moz-animation-name:bounceoutl;-ms-animation-name:bounceoutl;animation-name:bounceoutl;}
/* 转入 */
.a-rotatein{-webkit-animation-name:rotatein;-moz-animation-name:rotatein;-ms-animation-name:rotatein;animation-name:rotatein;}
/* 转入-从左上 */
.a-rotateinlt{-webkit-animation-name:rotateinlt;-moz-animation-name:rotateinlt;-ms-animation-name:rotateinlt;animation-name:rotateinlt;}
/* 转入-从左下 */
.a-rotateinlb{-webkit-animation-name:rotateinlb;-moz-animation-name:rotateinlb;-ms-animation-name:rotateinlb;animation-name:rotateinlb;}
/* 转入-从右上 */
.a-rotateinrt{-webkit-animation-name:rotateinrt;-moz-animation-name:rotateinrt;-ms-animation-name:rotateinrt;animation-name:rotateinrt;}
/* 转入-从右下*/
.a-rotateinrb{-webkit-animation-name:rotateinrb;-moz-animation-name:rotateinrb;-ms-animation-name:rotateinrb;animation-name:rotateinrb;}
/* 转出 */
.a-rotateout{-webkit-animation-name:rotateout;-moz-animation-name:rotateout;-ms-animation-name:rotateout;animation-name:rotateout;}
/* 转出-向左上 */
.a-rotateoutlt{-webkit-animation-name:rotateoutlt;-moz-animation-name:rotateoutlt;-ms-animation-name:rotateoutlt;animation-name:rotateoutlt;}
/* 转出-向左下 */
.a-rotateoutlb{-webkit-animation-name:rotateoutlb;-moz-animation-name:rotateoutlb;-ms-animation-name:rotateoutlb;animation-name:rotateoutlb;}
/* 转出-向右上 */
.a-rotateoutrt{-webkit-animation-name:rotateoutrt;-moz-animation-name:rotateoutrt;-ms-animation-name:rotateoutrt;animation-name:rotateoutrt;}
/* 转出-向右下 */
.a-rotateoutrb{-webkit-animation-name:rotateoutrb;-moz-animation-name:rotateoutrb;-ms-animation-name:rotateoutrb;animation-name:rotateoutrb;}
/* 翻转 */
.a-flip{-webkit-animation-name:flip;-moz-animation-name:flip;-ms-animation-name:flip;animation-name:flip;}
/* 翻入-x轴 */
.a-flipinx{-webkit-animation-name:flipinx;-moz-animation-name:flipinx;-ms-animation-name:flipinx;animation-name:flipinx;}
/* 翻入-y轴 */
.a-flipin,.a-flipiny{-webkit-animation-name:flipiny;-moz-animation-name:flipiny;-ms-animation-name:flipiny;animation-name:flipiny;}
/* 翻出-x轴 */
.a-flipoutx{-webkit-animation-name:flipoutx;-moz-animation-name:flipoutx;-ms-animation-name:flipoutx;animation-name:flipoutx;}
/* 翻出-y轴 */
.a-flipout,.a-flipouty{-webkit-animation-name:flipouty;-moz-animation-name:flipouty;-ms-animation-name:flipouty;animation-name:flipouty;}
/* 闪烁 */
.a-flash{-webkit-animation-name:flash;-moz-animation-name:flash;-ms-animation-name:flash;animation-name:flash;}
/* 震颤 */
.a-shake{-webkit-animation-name:shake;-moz-animation-name:shake;-ms-animation-name:shake;animation-name:shake;}
/* 摇摆 */
.a-swing{-webkit-animation-name:swing;-moz-animation-name:swing;-ms-animation-name:swing;animation-name:swing;}
/* 摇晃 */
.a-wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-ms-animation-name:wobble;animation-name:wobble;}
/* 震铃 */
.a-ring{-webkit-animation-name:ring;-moz-animation-name:ring;-ms-animation-name:ring;animation-name:ring;}
/* define */
/* 淡入 */
@-webkit-keyframes fadein{
0%{opacity:0;}
100%{opacity:1;}
}
@-moz-keyframes fadein{
0%{opacity:0;}
100%{opacity:1;}
}
@-ms-keyframes fadein{
0%{opacity:0;}
100%{opacity:1;}
}
@keyframes fadein{
0%{opacity:0;}
100%{opacity:1;}
}
/* 淡入-从上 */
@-webkit-keyframes fadeint{
0%{opacity:0;-webkit-transform:translatey(-100px);}
100%{opacity:1;-webkit-transform:translatey(0);}
}
@-moz-keyframes fadeint{
0%{opacity:0;-moz-transform:translatey(-100px);}
100%{opacity:1;-moz-transform:translatey(0);}
}
@-ms-keyframes fadeint{
0%{opacity:0;-ms-transform:translatey(-100px);}
100%{opacity:1;-ms-transform:translatey(0);}
}
@keyframes fadeint{
0%{opacity:0;transform:translatey(-100px);}
100%{opacity:1;transform:translatey(0);}
}
/* 淡入-从右 */
@-webkit-keyframes fadeinr{
0%{opacity:0;-webkit-transform:translatex(100px);}
100%{opacity:1;-webkit-transform:translatex(0);}
}
@-moz-keyframes fadeinr{
0%{opacity:0;-moz-transform:translatex(100px);}
100%{opacity:1;-moz-transform:translatex(0);}
}
@-ms-keyframes fadeinr{
0%{opacity:0;-ms-transform:translatex(100px);}
100%{opacity:1;-ms-transform:translatex(0);}
}
@keyframes fadeinr{
0%{opacity:0;transform:translatex(100px);}
100%{opacity:1;transform:translatex(0);}
}
/* 淡入-从下 */
@-webkit-keyframes fadeinb{
0%{opacity:0;-webkit-transform:translatey(100px);}
100%{opacity:1;-webkit-transform:translatey(0);}
}
@-moz-keyframes fadeinb{
0%{opacity:0;-moz-transform:translatey(100px);}
100%{opacity:1;-moz-transform:translatey(0);}
}
@-ms-keyframes fadeinb{
0%{opacity:0;-ms-transform:translatey(100px);}
100%{opacity:1;-ms-transform:translatey(0);}
}
@keyframes fadeinb{
0%{opacity:0;transform:translatey(100px);}
100%{opacity:1;transform:translatey(0);}
}
/* 淡入-从左 */
@-webkit-keyframes fadeinl{
0%{opacity:0;-webkit-transform:translatex(-100px);}
100%{opacity:1;-webkit-transform:translatex(0);}
}
@-moz-keyframes fadeinl{
0%{opacity:0;-moz-transform:translatex(-100px);}
100%{opacity:1;-moz-transform:translatex(0);}
}
@-ms-keyframes fadeinl{
0%{opacity:0;-ms-transform:translatex(-100px);}
100%{opacity:1;-ms-transform:translatex(0);}
}
@keyframes fadeinl{
0%{opacity:0;transform:translatex(-100px);}
100%{opacity:1;transform:translatex(0);}
}
/* 淡出 */
@-webkit-keyframes fadeout{
0%{opacity:1;}
100%{opacity:0;}
}
@-moz-keyframes fadeout{
0%{opacity:1;}
100%{opacity:0;}
}
@-ms-keyframes fadeout{
0%{opacity:1;}
100%{opacity:0;}
}
@keyframes fadeout{
0%{opacity:1;}
100%{opacity:0;}
}
/* 淡出-向上 */
@-webkit-keyframes fadeoutt{
0%{opacity:1;-webkit-transform:translatey(0);}
100%{opacity:0;-webkit-transform:translatey(-100px);}
}
@-moz-keyframes fadeoutt{
0%{opacity:1;-moz-transform:translatey(0);}
100%{opacity:0;-moz-transform:translatey(-100px);}
}
@-ms-keyframes fadeoutt{
0%{opacity:1;-ms-transform:translatey(0);}
100%{opacity:0;-ms-transform:translatey(-100px);}
}
@keyframes fadeoutt{
0%{opacity:1;transform:translatey(0);}
100%{opacity:0;transform:translatey(-100px);}
}
/* 淡出-向右 */
@-webkit-keyframes fadeoutr{
0%{opacity:1;-webkit-transform:translatex(0);}
100%{opacity:0;-webkit-transform:translatex(100px);}
}
@-moz-keyframes fadeoutr{
0%{opacity:1;-moz-transform:translatex(0);}
100%{opacity:0;-moz-transform:translatex(100px);}
}
@-ms-keyframes fadeoutr{
0%{opacity:1;-ms-transform:translatex(0);}
100%{opacity:0;-ms-transform:translatex(100px);}
}
@keyframes fadeoutr{
0%{opacity:1;transform:translatex(0);}
100%{opacity:0;transform:translatex(100px);}
}
/* 淡出-向下 */
@-webkit-keyframes fadeoutb{
0%{opacity:1;-webkit-transform:translatey(0);}
100%{opacity:0;-webkit-transform:translatey(100px);}
}
@-moz-keyframes fadeoutb{
0%{opacity:1;-moz-transform:translatey(0);}
100%{opacity:0;-moz-transform:translatey(100px);}
}
@-ms-keyframes fadeoutb{
0%{opacity:1;-ms-transform:translatey(0);}
100%{opacity:0;-ms-transform:translatey(100px);}
}
@keyframes fadeoutb{
0%{opacity:1;transform:translatey(0);}
100%{opacity:0;transform:translatey(100px);}
}
/* 淡出-向左 */
@-webkit-keyframes fadeoutl{
0%{opacity:1;-webkit-transform:translatex(0);}
100%{opacity:0;-webkit-transform:translatex(-100px);}
}
@-moz-keyframes fadeoutl{
0%{opacity:1;-moz-transform:translatex(0);}
100%{opacity:0;-moz-transform:translatex(-100px);}
}
@-ms-keyframes fadeoutl{
0%{opacity:1;-ms-transform:translatex(0);}
100%{opacity:0;-ms-transform:translatex(-100px);}
}
@keyframes fadeoutl{
0%{opacity:1;transform:translatex(0);}
100%{opacity:0;transform:translatex(-100px);}
}
/* 弹跳 */
@-webkit-keyframes bounce{
0%,20%,50%,80%,100%{-webkit-transform:translatey(0);}
40%{-webkit-transform:translatey(-30px);}
60%{-webkit-transform:translatey(-15px);}
}
@-moz-keyframes bounce{
0%,20%,50%,80%,100%{-moz-transform:translatey(0);}
40%{-moz-transform:translatey(-30px);}
60%{-moz-transform:translatey(-15px);}
}
@-ms-keyframes bounce{
0%,20%,50%,80%,100%{-ms-transform:translatey(0);}
40%{-ms-transform:translatey(-30px);}
60%{-ms-transform:translatey(-15px);}
}
@keyframes bounce{
0%,20%,50%,80%,100%{transform:translatey(0);}
40%{transform:translatey(-30px);}
60%{transform:translatey(-15px);}
}
/* 弹入 */
@-webkit-keyframes bouncein{
0%{opacity:0;-webkit-transform:scale(0.3);}
50%{opacity:1;-webkit-transform:scale(1.05);}
70%{-webkit-transform:scale(0.9);}
100%{-webkit-transform:scale(1);}
}
@-moz-keyframes bouncein{
0%{opacity:0;-moz-transform:scale(0.3);}
50%{opacity:1;-moz-transform:scale(1.05);}
70%{-moz-transform:scale(0.9);}
100%{-moz-transform:scale(1);}
}
@-ms-keyframes bouncein{
0%{opacity:0;-ms-transform:scale(0.3);}
50%{opacity:1;-ms-transform:scale(1.05);}
70%{-ms-transform:scale(0.9);}
100%{-ms-transform:scale(1);}
}
@keyframes bouncein{
0%{opacity:0;transform:scale(0.3);}
50%{opacity:1;transform:scale(1.05);}
70%{transform:scale(0.9);}
100%{transform:scale(1);}
}
/* 弹入-从上 */
@-webkit-keyframes bounceint{
0%{opacity:0;-webkit-transform:translatey(-100px);}
60%{opacity:1;-webkit-transform:translatey(30px);}
80%{-webkit-transform:translatey(-10px);}
100%{-webkit-transform:translatey(0);}
}
@-moz-keyframes bounceint{
0%{opacity:0;-moz-transform:translatey(-100px);}
60%{opacity:1;-moz-transform:translatey(30px);}
80%{-moz-transform:translatey(-10px);}
100%{-moz-transform:translatey(0);}
}
@-ms-keyframes bounceint{
0%{opacity:0;-ms-transform:translatey(-100px);}
60%{opacity:1;-ms-transform:translatey(30px);}
80%{-ms-transform:translatey(-10px);}
100%{-ms-transform:translatey(0);}
}
@keyframes bounceint{
0%{opacity:0;transform:translatey(-100px);}
60%{opacity:1;transform:translatey(30px);}
80%{transform:translatey(-10px);}
100%{transform:translatey(0);}
}
/* 弹入-从右 */
@-webkit-keyframes bounceinr{
0%{opacity:0;-webkit-transform:translatex(100px);}
60%{opacity:1;-webkit-transform:translatex(-30px);}
80%{-webkit-transform:translatex(10px);}
100%{-webkit-transform:translatex(0);}
}
@-moz-keyframes bounceinr{
0%{opacity:0;-moz-transform:translatex(100px);}
60%{opacity:1;-moz-transform:translatex(-30px);}
80%{-moz-transform:translatex(10px);}
100%{-moz-transform:translatex(0);}
}
@-ms-keyframes bounceinr{
0%{opacity:0;-ms-transform:translatex(100px);}
60%{opacity:1;-ms-transform:translatex(-30px);}
80%{-ms-transform:translatex(10px);}
100%{-ms-transform:translatex(0);}
}
@keyframes bounceinr{
0%{opacity:0;transform:translatex(100px);}
60%{opacity:1;transform:translatex(-30px);}
80%{transform:translatex(10px);}
100%{transform:translatex(0);}
}
/* 弹入-从下 */
@-webkit-keyframes bounceinb{
0%{opacity:0;-webkit-transform:translatey(100px);}
60%{opacity:1;-webkit-transform:translatey(-30px);}
80%{-webkit-transform:translatey(10px);}
100%{-webkit-transform:translatey(0);}
}
@-moz-keyframes bounceinb{
0%{opacity:0;-moz-transform:translatey(100px);}
60%{opacity:1;-moz-transform:translatey(-30px);}
80%{-moz-transform:translatey(10px);}
100%{-moz-transform:translatey(0);}
}
@-ms-keyframes bounceinb{
0%{opacity:0;-ms-transform:translatey(100px);}
60%{opacity:1;-ms-transform:translatey(-30px);}
80%{-ms-transform:translatey(10px);}
100%{-ms-transform:translatey(0);}
}
@keyframes bounceinb{
0%{opacity:0;transform:translatey(100px);}
60%{opacity:1;transform:translatey(-30px);}
80%{transform:translatey(10px);}
100%{transform:translatey(0);}
}
/* 弹入-从左 */
@-webkit-keyframes bounceinl{
0%{opacity:0;-webkit-transform:translatex(-100px);}
60%{opacity:1;-webkit-transform:translatex(30px);}
80%{-webkit-transform:translatex(-10px);}
100%{-webkit-transform:translatex(0);}
}
@-moz-keyframes bounceinl{
0%{opacity:0;-moz-transform:translatex(-100px);}
60%{opacity:1;-moz-transform:translatex(30px);}
80%{-moz-transform:translatex(-10px);}
100%{-moz-transform:translatex(0);}
}
@-ms-keyframes bounceinl{
0%{opacity:0;-ms-transform:translatex(-100px);}
60%{opacity:1;-ms-transform:translatex(30px);}
80%{-ms-transform:translatex(-10px);}
100%{-ms-transform:translatex(0);}
}
@keyframes bounceinl{
0%{opacity:0;transform:translatex(-100px);}
60%{opacity:1;transform:translatex(30px);}
80%{transform:translatex(-10px);}
100%{transform:translatex(0);}
}
/* 弹出 */
@-webkit-keyframes bounceout{
0%{-webkit-transform:scale(1);}
25%{-webkit-transform:scale(0.95);}
50%{opacity:1;-webkit-transform:scale(1.1);}
100%{opacity:0;-webkit-transform:scale(0.3);}
}
@-moz-keyframes bounceout{
0%{-moz-transform:scale(1);}
25%{-moz-transform:scale(0.95);}
50%{opacity:1;-moz-transform:scale(1.1);}
100%{opacity:0;-moz-transform:scale(0.3);}
}
@-ms-keyframes bounceout{
0%{-ms-transform:scale(1);}
25%{-ms-transform:scale(0.95);}
50%{opacity:1;-ms-transform:scale(1.1);}
100%{opacity:0;-ms-transform:scale(0.3);}
}
@keyframes bounceout{
0%{transform:scale(1);}
25%{transform:scale(0.95);}
50%{opacity:1;transform:scale(1.1);}
100%{opacity:0;transform:scale(0.3);}
}
/* 弹出-向上*/
@-webkit-keyframes bounceoutt{
0%{-webkit-transform:translatey(0);}
20%{opacity:1;-webkit-transform:translatey(20px);}
100%{opacity:0;-webkit-transform:translatey(-100px);}
}
@-moz-keyframes bounceoutt{
0%{-moz-transform:translatey(0);}
20%{opacity:1;-moz-transform:translatey(20px);}
100%{opacity:0;-moz-transform:translatey(-100px);}
}
@-ms-keyframes bounceoutt{
0%{-ms-transform:translatey(0);}
20%{opacity:1;-ms-transform:translatey(20px);}
100%{opacity:0;-ms-transform:translatey(-100px);}
}
@keyframes bounceoutt{
0%{transform:translatey(0);}
20%{opacity:1;transform:translatey(20px);}
100%{opacity:0;transform:translatey(-100px);}
}
/* 弹出-向右*/
@-webkit-keyframes bounceoutr{
0%{-webkit-transform:translatex(0);}
20%{opacity:1;-webkit-transform:translatex(-20px);}
100%{opacity:0;-webkit-transform:translatex(100px);}
}
@-moz-keyframes bounceoutr{
0%{-moz-transform:translatex(0);}
20%{opacity:1;-moz-transform:translatex(-20px);}
100%{opacity:0;-moz-transform:translatex(100px);}
}
@-ms-keyframes bounceoutr{
0%{-ms-transform:translatex(0);}
20%{opacity:1;-ms-transform:translatex(-20px);}
100%{opacity:0;-ms-transform:translatex(100px);}
}
@keyframes bounceoutr{
0%{transform:translatex(0);}
20%{opacity:1;transform:translatex(-20px);}
100%{opacity:0;transform:translatex(100px);}
}
/* 弹出-向下 */
@-webkit-keyframes bounceoutb{
0%{-webkit-transform:translatey(0);}
20%{opacity:1;-webkit-transform:translatey(-20px);}
100%{opacity:0;-webkit-transform:translatey(100px);}
}
@-moz-keyframes bounceoutb{
0%{-moz-transform:translatey(0);}
20%{opacity:1;-moz-transform:translatey(-20px);}
100%{opacity:0;-moz-transform:translatey(100px);}
}
@-ms-keyframes bounceoutb{
0%{-ms-transform:translatey(0);}
20%{opacity:1;-ms-transform:translatey(-20px);}
100%{opacity:0;-ms-transform:translatey(100px);}
}
@keyframes bounceoutb{
0%{transform:translatey(0);}
20%{opacity:1;transform:translatey(-20px);}
100%{opacity:0;transform:translatey(100px);}
}
/* 弹出-向左 */
@-webkit-keyframes bounceoutl{
0%{-webkit-transform:translatex(0);}
20%{opacity:1;-webkit-transform:translatex(20px);}
100%{opacity:0;-webkit-transform:translatex(-100px);}
}
@-moz-keyframes bounceoutl{
0%{-moz-transform:translatex(0);}
20%{opacity:1;-moz-transform:translatex(20px);}
100%{opacity:0;-moz-transform:translatex(-100px);}
}
@-ms-keyframes bounceoutl{
0%{-ms-transform:translatex(0);}
20%{opacity:1;-ms-transform:translatex(20px);}
100%{opacity:0;-ms-transform:translatex(-100px);}
}
@keyframes bounceoutl{
0%{transform:translatex(0);}
20%{opacity:1;transform:translatex(20px);}
100%{opacity:0;transform:translatex(-200px);}
}
/* 转入 */
@-webkit-keyframes rotatein{
0%{opacity:0;-webkit-transform:rotate(-200deg);}
100%{opacity:1;-webkit-transform:rotate(0);}
}
@-moz-keyframes rotatein{
0%{opacity:0;-moz-transform:rotate(-200deg);}
100%{opacity:1;-moz-transform:rotate(0);}
}
@-ms-keyframes rotatein{
0%{opacity:0;-ms-transform:rotate(-200deg);}
100%{opacity:1;-ms-transform:rotate(0);}
}
@keyframes rotatein{
0%{opacity:0;transform:rotate(-200deg);}
100%{opacity:1;transform:rotate(0);}
}
/* 转入-从左上 */
@-webkit-keyframes rotateinlt{
0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;}
100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}
}
@-moz-keyframes rotateinlt{
0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;}
100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}
}
@-ms-keyframes rotateinlt{
0%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;}
100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}
}
@keyframes rotateinlt{
0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}
100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}
}
/* 转入-从左下 */
@-webkit-keyframes rotateineftb{
0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;}
100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}
}
@-moz-keyframes rotateineftb{
0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;}
100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}
}
@-ms-keyframes rotateineftb{
0%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;}
100%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}
}
@keyframes rotateineftb{
0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}
100%{transform-origin:left bottom;transform:rotate(0);opacity:1;}
}
/* 转入-从右上 */
@-webkit-keyframes rotateinrt{
0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;}
100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}
}
@-moz-keyframes rotateinrt{
0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;}
100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}
}
@-ms-keyframes rotateinrt{
0%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;}
100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}
}
@keyframes rotateinrt{
0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}
100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}
}
/* 转入-从右下*/
@-webkit-keyframes rotateinrb{
0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;}
100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}
}
@-moz-keyframes rotateinrb{
0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;}
100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}
}
@-ms-keyframes rotateinrb{
0%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;}
100%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}
}
@keyframes rotateinrb{
0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}
100%{transform-origin:right bottom;transform:rotate(0);opacity:1;}
}
/* 转出 */
@-webkit-keyframes rotateout{
0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1;}
100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0;}
}
@-moz-keyframes rotateout{
0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1;}
100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0;}
}
@-ms-keyframes rotateout{
0%{-ms-transform-origin:center center;-ms-transform:rotate(0);opacity:1;}
100%{-ms-transform-origin:center center;-ms-transform:rotate(200deg);opacity:0;}
}
@keyframes rotateout{
0%{transform-origin:center center;transform:rotate(0);opacity:1;}
100%{transform-origin:center center;transform:rotate(200deg);opacity:0;}
}
/* 转出-向左上 */
@-webkit-keyframes rotateoutlt{
0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}
100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0;}
}
@-moz-keyframes rotateoutlt{
0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}
100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0;}
}
@-ms-keyframes rotateoutlt{
0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}
100%{-ms-transform-origin:left bottom;-ms-transform:rotate(-90deg);opacity:0;}
}
@keyframes rotateoutlt{
0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}
100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0;}
}
/* 转出-向左下 */
@-webkit-keyframes rotateoutlb{
0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1;}
100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0;}
}
@-moz-keyframes rotateoutlb{
0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1;}
100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0;}
}
@-ms-keyframes rotateoutlb{
0%{-ms-transform-origin:left bottom;-ms-transform:rotate(0);opacity:1;}
100%{-ms-transform-origin:left bottom;-ms-transform:rotate(90deg);opacity:0;}
}
@keyframes rotateoutlb{
0%{transform-origin:left bottom;transform:rotate(0);opacity:1;}
100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0;}
}
/* 转出-向右上 */
@-webkit-keyframes rotateoutrt{
0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}
100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0;}
}
@-moz-keyframes rotateoutrt{
0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}
100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0;}
}
@-ms-keyframes rotateoutrt{
0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}
100%{-ms-transform-origin:right bottom;-ms-transform:rotate(90deg);opacity:0;}
}
@keyframes rotateoutrt{
0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}
100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0;}
}
/* 转出-向右下 */
@-webkit-keyframes rotateoutbr{
0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1;}
100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0;}
}
@-moz-keyframes rotateoutbr{
0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1;}
100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0;}
}
@-ms-keyframes rotateoutbr{
0%{-ms-transform-origin:right bottom;-ms-transform:rotate(0);opacity:1;}
100%{-ms-transform-origin:right bottom;-ms-transform:rotate(-90deg);opacity:0;}
}
@keyframes rotateoutbr{
0%{transform-origin:right bottom;transform:rotate(0);opacity:1;}
100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0;}
}
/* 翻转 */
@-webkit-keyframes flip{
0%{-webkit-transform:perspective(400px) rotatey(0);-webkit-animation-timing-function:ease-out;}
40%{-webkit-transform:perspective(400px) translatez(150px) rotatey(170deg);-webkit-animation-timing-function:ease-out;}
50%{-webkit-transform:perspective(400px) translatez(150px) rotatey(190deg) scale(1);-webkit-animation-timing-function:ease-in;}
80%{-webkit-transform:perspective(400px) rotatey(360deg) scale(0.95);-webkit-animation-timing-function:ease-in;}
100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in;}
}
@-moz-keyframes flip{
0%{-moz-transform:perspective(400px) rotatey(0);-moz-animation-timing-function:ease-out;}
40%{-moz-transform:perspective(400px) translatez(150px) rotatey(170deg);-moz-animation-timing-function:ease-out;}
50%{-moz-transform:perspective(400px) translatez(150px) rotatey(190deg) scale(1);-moz-animation-timing-function:ease-in;}
80%{-moz-transform:perspective(400px) rotatey(360deg) scale(0.95);-moz-animation-timing-function:ease-in;}
100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in;}
}
@-ms-keyframes flip{
0%{-ms-transform:perspective(400px) rotatey(0);-ms-animation-timing-function:ease-out;}
40%{-ms-transform:perspective(400px) translatez(150px) rotatey(170deg);-ms-animation-timing-function:ease-out;}
50%{-ms-transform:perspective(400px) translatez(150px) rotatey(190deg) scale(1);-ms-animation-timing-function:ease-in;}
80%{-ms-transform:perspective(400px) rotatey(360deg) scale(0.95);-ms-animation-timing-function:ease-in;}
100%{-ms-transform:perspective(400px) scale(1);-ms-animation-timing-function:ease-in;}
}
@keyframes flip{
0%{transform:perspective(400px) rotatey(0);animation-timing-function:ease-out;}
40%{transform:perspective(400px) translatez(150px) rotatey(170deg);animation-timing-function:ease-out;}
50%{transform:perspective(400px) translatez(150px) rotatey(190deg) scale(1);animation-timing-function:ease-in;}
80%{transform:perspective(400px) rotatey(360deg) scale(0.95);animation-timing-function:ease-in;}
100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in;}
}
/* 翻入-x轴 */
@-webkit-keyframes flipinx{
0%{-webkit-transform:perspective(400px) rotatex(90deg);opacity:0;}
40%{-webkit-transform:perspective(400px) rotatex(-10deg);}
70%{-webkit-transform:perspective(400px) rotatex(10deg);}
100%{-webkit-transform:perspective(400px) rotatex(0);opacity:1;}
}
@-moz-keyframes flipinx{
0%{-moz-transform:perspective(400px) rotatex(90deg);opacity:0;}
40%{-moz-transform:perspective(400px) rotatex(-10deg);}
70%{-moz-transform:perspective(400px) rotatex(10deg);}
100%{-moz-transform:perspective(400px) rotatex(0);opacity:1;}
}
@-ms-keyframes flipinx{
0%{-ms-transform:perspective(400px) rotatex(90deg);opacity:0;}
40%{-ms-transform:perspective(400px) rotatex(-10deg);}
70%{-ms-transform:perspective(400px) rotatex(10deg);}
100%{-ms-transform:perspective(400px) rotatex(0);opacity:1;}
}
@keyframes flipinx{
0%{transform:perspective(400px) rotatex(90deg);opacity:0;}
40%{transform:perspective(400px) rotatex(-10deg);}
70%{transform:perspective(400px) rotatex(10deg);}
100%{transform:perspective(400px) rotatex(0);opacity:1;}
}
/* 翻入-y轴 */
@-webkit-keyframes flipiny{
0%{-webkit-transform:perspective(400px) rotatey(90deg);opacity:0;}
40%{-webkit-transform:perspective(400px) rotatey(-10deg);}
70%{-webkit-transform:perspective(400px) rotatey(10deg);}
100%{-webkit-transform:perspective(400px) rotatey(0);opacity:1;}
}
@-moz-keyframes flipiny{
0%{-moz-transform:perspective(400px) rotatey(90deg);opacity:0;}
40%{-moz-transform:perspective(400px) rotatey(-10deg);}
70%{-moz-transform:perspective(400px) rotatey(10deg);}
100%{-moz-transform:perspective(400px) rotatey(0);opacity:1;}
}
@-ms-keyframes flipiny{
0%{-ms-transform:perspective(400px) rotatey(90deg);opacity:0;}
40%{-ms-transform:perspective(400px) rotatey(-10deg);}
70%{-ms-transform:perspective(400px) rotatey(10deg);}
100%{-ms-transform:perspective(400px) rotatey(0);opacity:1;}
}
@keyframes flipiny{
0%{transform:perspective(400px) rotatey(90deg);opacity:0;}
40%{transform:perspective(400px) rotatey(-10deg);}
70%{transform:perspective(400px) rotatey(10deg);}
100%{transform:perspective(400px) rotatey(0);opacity:1;}
}
/* 翻出-x轴 */
@-webkit-keyframes flipoutx{
0%{-webkit-transform:perspective(400px) rotatex(0);opacity:1;}
100%{-webkit-transform:perspective(400px) rotatex(90deg);opacity:0;}
}
@-moz-keyframes flipoutx{
0%{-moz-transform:perspective(400px) rotatex(0);opacity:1;}
100%{-moz-transform:perspective(400px) rotatex(90deg);opacity:0;}
}
@-ms-keyframes flipoutx{
0%{-ms-transform:perspective(400px) rotatex(0);opacity:1;}
100%{-ms-transform:perspective(400px) rotatex(90deg);opacity:0;}
}
@keyframes flipoutx{
0%{transform:perspective(400px) rotatex(0);opacity:1;}
100%{transform:perspective(400px) rotatex(90deg);opacity:0;}
}
/* 翻出-y轴 */
@-webkit-keyframes flipouty{
0%{-webkit-transform:perspective(400px) rotatey(0);opacity:1;}
100%{-webkit-transform:perspective(400px) rotatey(90deg);opacity:0;}
}
@-moz-keyframes flipouty{
0%{-moz-transform:perspective(400px) rotatey(0);opacity:1;}
100%{-moz-transform:perspective(400px) rotatey(90deg);opacity:0;}
}
@-ms-keyframes flipouty{
0%{-ms-transform:perspective(400px) rotatey(0);opacity:1;}
100%{-ms-transform:perspective(400px) rotatey(90deg);opacity:0;}
}
@keyframes flipouty{
0%{transform:perspective(400px) rotatey(0);opacity:1;}
100%{transform:perspective(400px) rotatey(90deg);opacity:0;}
}
/* 闪烁 */
@-webkit-keyframes flash{
0%,50%,100%{opacity:1;}
25%,75%{opacity:0;}
}
@-moz-keyframes flash{
0%,50%,100%{opacity:1;}
25%,75%{opacity:0;}
}
@-ms-keyframes flash{
0%,50%,100%{opacity:1;}
25%,75%{opacity:0;}
}
@keyframes flash{
0%,50%,100%{opacity:1;}
25%,75%{opacity:0;}
}
/* 震颤 */
@-webkit-keyframes shake{
0%,100%{-webkit-transform:translatex(0);}
10%,30%,50%,70%,90%{-webkit-transform:translatex(-10px);}
20%,40%,60%,80%{-webkit-transform:translatex(10px);}
}
@-moz-keyframes shake{
0%,100%{-moz-transform:translatex(0);}
10%,30%,50%,70%,90%{-moz-transform:translatex(-10px);}
20%,40%,60%,80%{-moz-transform:translatex(10px);}
}
@-ms-keyframes shake{
0%,100%{-ms-transform:translatex(0);}
10%,30%,50%,70%,90%{-ms-transform:translatex(-10px);}
20%,40%,60%,80%{-ms-transform:translatex(10px);}
}
@keyframes shake{
0%,100%{transform:translatex(0);}
10%,30%,50%,70%,90%{transform:translatex(-10px);}
20%,40%,60%,80%{transform:translatex(10px);}
}
/* 摇摆 */
@-webkit-keyframes swing{
20%{-webkit-transform:rotate(15deg);}
40%{-webkit-transform:rotate(-10deg);}
60%{-webkit-transform:rotate(5deg);}
80%{-webkit-transform:rotate(-5deg);}
100%{-webkit-transform:rotate(0);}
}
@-moz-keyframes swing{
20%{-moz-transform:rotate(15deg);}
40%{-moz-transform:rotate(-10deg);}
60%{-moz-transform:rotate(5deg);}
80%{-moz-transform:rotate(-5deg);}
100%{-moz-transform:rotate(0);}
}
@-ms-keyframes swing{
20%{-ms-transform:rotate(15deg);}
40%{-ms-transform:rotate(-10deg);}
60%{-ms-transform:rotate(5deg);}
80%{-ms-transform:rotate(-5deg);}
100%{-ms-transform:rotate(0);}
}
@keyframes swing{
20%{transform:rotate(15deg);}
40%{transform:rotate(-10deg);}
60%{transform:rotate(5deg);}
80%{transform:rotate(-5deg);}
100%{transform:rotate(0);}
}
/* 摇晃 */
@-webkit-keyframes wobble{
0%{-webkit-transform:translatex(0);}
15%{-webkit-transform:translatex(-100px) rotate(-5deg);}
30%{-webkit-transform:translatex(80px) rotate(3deg);}
45%{-webkit-transform:translatex(-65px) rotate(-3deg);}
60%{-webkit-transform:translatex(40px) rotate(2deg);}
75%{-webkit-transform:translatex(-20px) rotate(-1deg);}
100%{-webkit-transform:translatex(0);}
}
@-moz-keyframes wobble{
0%{-moz-transform:translatex(0);}
15%{-moz-transform:translatex(-100px) rotate(-5deg);}
30%{-moz-transform:translatex(80px) rotate(3deg);}
45%{-moz-transform:translatex(-65px) rotate(-3deg);}
60%{-moz-transform:translatex(40px) rotate(2deg);}
75%{-moz-transform:translatex(-20px) rotate(-1deg);}
100%{-moz-transform:translatex(0);}
}
@-ms-keyframes wobble{
0%{-ms-transform:translatex(0);}
15%{-ms-transform:translatex(-100px) rotate(-5deg);}
30%{-ms-transform:translatex(80px) rotate(3deg);}
45%{-ms-transform:translatex(-65px) rotate(-3deg);}
60%{-ms-transform:translatex(40px) rotate(2deg);}
75%{-ms-transform:translatex(-20px) rotate(-1deg);}
100%{-ms-transform:translatex(0);}
}
@keyframes wobble{
0%{transform:translatex(0);}
15%{transform:translatex(-100px) rotate(-5deg);}
30%{transform:translatex(80px) rotate(3deg);}
45%{transform:translatex(-65px) rotate(-3deg);}
60%{transform:translatex(40px) rotate(2deg);}
75%{transform:translatex(-20px) rotate(-1deg);}
100%{transform:translatex(0);}
}
/* 震铃 */
@-webkit-keyframes ring{
0%{-webkit-transform:scale(1);}
10%,20%{-webkit-transform:scale(0.9) rotate(-3deg);}
30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);}
40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);}
100%{-webkit-transform:scale(1) rotate(0);}
}
@-moz-keyframes ring{
0%{-moz-transform:scale(1);}
10%,20%{-moz-transform:scale(0.9) rotate(-3deg);}
30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg);}
40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg);}
100%{-moz-transform:scale(1) rotate(0);}
}
@-ms-keyframes ring{
0%{-ms-transform:scale(1);}
10%,20%{-ms-transform:scale(0.9) rotate(-3deg);}
30%,50%,70%,90%{-ms-transform:scale(1.1) rotate(3deg);}
40%,60%,80%{-ms-transform:scale(1.1) rotate(-3deg);}
100%{-ms-transform:scale(1) rotate(0);}
}
@keyframes ring{
0%{transform:scale(1);}
10%,20%{transform:scale(0.9) rotate(-3deg);}
30%,50%,70%,90%{transform:scale(1.1) rotate(3deg);}
40%,60%,80%{transform:scale(1.1) rotate(-3deg);}
100%{transform:scale(1) rotate(0);}
}
以上就是关于css3常用的动画效果分享的详细内容。